Page 1 sur 2

Limiter la taille d'une div, ou enlever la scrollbar

Posté : 06 avr. 2005, 15:07
par hormia
Bonjour,

dans une div utilisant overflow, cela rajoute des scrollbars si le texte dépasse.


<div style="width:830; height:500; overflow:auto; ">
</div>


Comment faire pour que le retour à la ligne soit forcé et pour ainsi ne pas avoir de scollbar horinzontale.
Ou supprimer la scrollbar horinzontal,

Si je mets width='100%' ca prend automatiquement la longueur du texte. Comme bloquer cette taille à celle de la cellule de tableau qui la contient ?

Est ce possible aussi de fixer la taille d'un <table> ou d'une <div> à la taille de l'écran, en compressant ce qui est dedans. Par exemple si je fait une ligne continue de 5000 caractère, le tableau va s'agrandir meme si je le fixe à 25% par exemple.

(ya plusieurs question là.... :roll: il suffit de répondre à l'une d'elle pour résoudre mon problème, et à toute pour combler ma curiosité)

merci !

Posté : 06 avr. 2005, 16:51
par flitox
Le code que je t'ai donné a certes ce problème mais il est contournable en mettant ton texte dans une <table> et en définissant la taille de cette table.

Le <div> s'adaptera à cette taille sans que tu aies besoin de lui définir une largeur.

C'est exactement la méthode que j'ai appliqué ;)

Posté : 07 avr. 2005, 11:12
par hormia
Heuu....

Code : Tout sélectionner

<div style=" height:500; width=50; overflow:auto;"> <table width="50" height="200" border="5" bgcolor="yellow"> <tr width="50"> <td width="50"> fhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh </td> </tr> </table> </div>
Ma div ne fait pas du tout 50, mais s'adapte à la longueur du texte.
Ne que je veux faire c'est que les hhhhh revienne à la ligne quand il arrive au bout du tableau.
Un truc comme ca :

hhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhh

Sous firefox ca change rien du tout, sous Internet Explore cela réduire la div, mais sans faire de retour à la ligne, et donc ya encore plus de scrollbar horizontale !

Je veux héradiquer cette scrollbar horizontale, je veux juste la verticale !

Voila ce dont tu as besoin :)

Posté : 15 avr. 2005, 16:42
par Kylineos
Bonjour, je pense que c'est à peu près ça que tu cherche :

ta classe de div
Pas d'overflow, pas de scroll, juste un retour a la ligne automatique quand
on arrive a la fin de l'espace défini par ta div. :)

Code : Tout sélectionner

.laclassequicoupelesmotsaulieudefairedeslignesenormes { word-wrap: break-word; }
perso, j'ai cherché 3plombes cette propriété et je suis content de la partager :) bonne chance.

... pas sous FireFox...

Posté : 16 avr. 2005, 11:22
par Kylineos
Bon, je suis Désolé de vous annoncer ça, mais il semblerait que la propriété word-wrap ne fonctionne pas sous la 1.0.2 de firefox....
soyons patients.

Posté : 16 avr. 2005, 11:50
par albat
As-tu essayé avec

Code : Tout sélectionner

overflow:scroll
Plus d'infos sur le overflow...

Posté : 18 avr. 2005, 09:38
par hormia
Merci beaucoup Kylineos, c'est exactement ce que je cherchais !!! :P

Dans le cas d'un Formulaire.

Posté : 18 avr. 2005, 17:47
par Kylineos
Dans le cas d'un formulaire, ( et pour ce coup la, ça marche sur tous les navigateurs )

On peut ajouter un argument à une "textarea" qui est wrap="off/physical/virtual".

Le formulaire ( pour wrap="physical" ) envoie les données texte avec la fonction de wrap et le texte ne sera donc plus interpreté au kilomètre.
Voila. Bon courage. :).
et vivement le jour ou tous les navigateurs seront conformes aux standards ;) .

div overflow

Posté : 04 mai 2005, 14:35
par koalacool
bonjour, la fonction overflow-y : scroll des div ne fonctionne pas sous firefox. je voudrais savoir si vous aviez une solution alternative à ce problème. j'ai trouvé des scripts DHTML qui palient à ca mais ils sont très galères à mettre en place dans la page que je fais.

D'avance merci

Posté : 04 mai 2005, 15:04
par flitox
Un overflow: auto avec un height plus petit que la taille de texte qu'il doit contenir et bingo ;)

le retour à la ligne ne marche pas pour moi

Posté : 06 mai 2005, 15:51
par fabb
j'ai testé sous ie et firefox et le retour a la ligne forcée ne fonctionne pas

voici mon code:

<html>
<head><style type="text/css">
.trbleu{background-color:#CCFFFF}
.test{word-wrap: break-word;}
</style></head>
<body>
<table border="8" width="11px" class="test">
<tr class="trbleu">
<td class="test">ciejcoijfciejrijejcijrecijreci,rei,cire,crencrnejcnejncrecjrffhurhfurijijfriijijiejirjoiejiofjoirejfhreuheydettezftfezytfqtfw
</td>
</tr>
<tr>
<td class="test">totto</td>
</tr>
</table>
</body>
</html>

Posté : 15 juin 2005, 11:16
par George Abidbol
Met des espaces dans ta chaine de caractere... sinon comment veux tu que le navigateur sache où couper ton mot!!

](*,)

Posté : 19 juin 2005, 13:24
par xaccrocheur
Met des espaces dans ta chaine de caractere... sinon comment veux tu que le navigateur sache où couper ton mot!!

](*,)
Heu mé c'est pas ça justement l'idée ? La *césure* des mots HORS espace ?

Perso, je cherche encore comment COUPER au milieu d'une chaine de caracteres (typique : Une URL à rallonge dans une liste de sujets, qui, précisément, ne contient PAS d'espaces...?

'rci !

pX (http://www.halluci.net - traitement de r&eacute;alité / reality processing)

Posté : 28 juin 2005, 10:56
par gb
sinon tu peux faire ca à la main.
suffit de compter le nbre de caractère de chaque mot de ton message : si un mot depasse xx caractères tu inscères un \n ou un <br>.
peut-etre un peu "sale" comme méthode mais ca a le mérite de fonctionner ;)


edit : peut-etre qu'un max-width en css ferait aussi l'affaire, à tester.

Posté : 15 juil. 2005, 22:52
par LIAMM
Peut-être pourrais-tu mettre des marqueurs <WBR> aux endroits où le texte pourrait être coupé, <WBR> sert pour suggérer au navigateur des retours à la ligne si c'est nécessaire.