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
Plus d'infos sur le
overflow...
Posté : 18 avr. 2005, 09:38
par hormia
Merci beaucoup Kylineos, c'est exactement ce que je cherchais !!!

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é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.