2009-01-08 12 views
61

Je voudrais fournir un défilement horizontal à une zone de texte dans ma page HTML. Le parchemin devrait apparaître sans emballage, si je tape une longue ligne sans saut de ligne. Quelques amis ont suggéré d'utiliser l'attribut CSS overflow-y, qui n'a pas fonctionné pour moi. Les navigateurs que j'utilise sont IE 6+ et Mozilla 3+.HTML Textarea horizontal scroll

Répondre

31

Pour définir sans emballage, utilisez:

white-space: nowrap; 

Pour d'autres valeurs: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space

NOTE: Cependant, le dépréciée wrap="off" semble être le seul moyen pour le soutien du navigateur existant. Bien que ce ne soit pas conforme à HTML 5, c'est toujours ma préférence si vous ciblez tous les navigateurs.

+4

Cela ne fonctionne pas. Il met tout le texte, y compris plusieurs lignes, sur la même ligne, et non le comportement souhaité. –

+6

Pour voir correctement les nouvelles lignes, vous devez utiliser 'white-space: pre;'. – Jesse

4

Essayez:

overflow: scroll; 
overflow-y: scroll; 
overflow-x: scroll; 
overflow:-moz-scrollbars-vertical; 

il devrait aussi être un -moz-barres de défilement horizontal

89

Je cernées de le faire d'une manière conforme non W3c et il travaille dans IE et Firefox et accessoirement dans Chrome.

J'ai ajouté l'attribut wrap avec la valeur off, c'est <textarea cols=80 rows=12 wrap='off'> est ce que j'ai fait.

+0

Ceci est la seule façon de travailler, ou autrement conforme. –

+0

La bonne façon de le faire est via CSS comme le souligne [la réponse d'Aram Kocharyan] (http://stackoverflow.com/a/5104505/238722). 'off' n'est pas une valeur valide ou reconnue de l'attribut' wrap' '