textarea sederhana saya tidak menampilkan bilah horizontal saat teks meluap. Itu membungkus teks untuk baris baru. Jadi bagaimana cara menghapus wordwrap dan menampilkan bilah horizontal saat teks meluap?
EDIT: Atribut "wrap" tidak didukung secara resmi. Saya mendapatkannya dari halaman SELFHTML Jerman (sumber bahasa Inggris ada di sini ) yang mengatakan bahwa IE 4.0 dan Netscape 2.0 mendukungnya. Saya juga mengujinya di FF 3.0.7 di mana ia bekerja seperti seharusnya. Banyak hal telah berubah di sini, SELFHTML sekarang menjadi wiki dan tautan sumber bahasa Inggris sudah mati.
EDIT2: Jika Anda ingin memastikan setiap browser mendukungnya, Anda dapat menggunakan CSS untuk mengubah perilaku wrap:
Menggunakan Cascading Style Sheets (CSS), Anda dapat mencapai efek yang sama dengannya
white-space: nowrap; overflow: auto;. Dengan demikian, atribut wrap dapat dianggap sudah usang.
Dari sini (sepertinya halaman yang bagus dengan informasi tentang textarea).
EDIT3: Saya tidak yakin kapan itu berubah (menurut komentar, pasti sudah sekitar 2014), tetapi wrapsekarang atribut HTML5 resmi, lihat w3schools . Mengubah jawaban untuk mencocokkan ini.
Atribut "wrap" berfungsi di Firefox 3.6, tetapi bukan HTML5 yang valid. Namun, solusi CSS tidak berfungsi, seolah-olah "white-space: nowrap" diabaikan.
Clint Pachl
9
white-space: pre;(atau pre-line/ pre-wrap) memiliki pengaruh yang sama dengan wrap="off"saya (padahal white-space: nowrapsaya tidak menghargai padding)
white-space: nowrapjuga berfungsi jika Anda tidak peduli dengan spasi putih, tetapi tentu saja Anda tidak ingin itu jika Anda bekerja dengan kode (atau paragraf indentasi atau konten apa pun di mana mungkin sengaja ada beberapa spasi) ... jadi saya lebih suka pre.
overflow-wrap: normal(Berada word-wrapdi browser yang lebih lama) diperlukan jika beberapa orang tua telah mengubah pengaturan itu; itu dapat menyebabkan pembungkus meskipun prediatur.
juga - bertentangan dengan jawaban yang diterima saat ini - dihapus saja jangan sering membungkus secara default. pre-wraptampaknya menjadi default di browser saya.
Dengan FF 20, Anda masih perlu membungkus = "off" di tag textarea html! Teknologi ini adalah omong kosong yang tidak konsisten.
Lawrence Dol
3
+1 untuk memberikan solusi CSS dan menunjukkan bahwa textareas DO wrap secara default
YePhIcK
1
Ah, tampaknya ada permintaan fitur di Firefox dari tahun 2001 tetapi dengan beberapa komentar pendukung (2014) terbaru untuk perilaku Chrome oleh dev Ehsan Akhgari: bugzilla.mozilla.org/show_bug.cgi?id=82711 . Pergi dan dengarkan itu!
Secara pribadi, saya pikir lebih baik untuk mengganti overflow-x: scrolldengan overflow: auto. Bilah gulir mengurangi ruang pengetikan yang tersedia di area teks. IE11 juga membuat bilah gulir vertikal secara tidak perlu dengan cara Anda, tetapi overflow: automemperbaikinya.
Sam
19
Solusi berbasis CSS berikut ini berfungsi untuk saya:
<html><head><styletype='text/css'>
textarea {white-space: nowrap;overflow: scroll;overflow-y: hidden;overflow-x: scroll;overflow: -moz-scrollbars-horizontal;}</style></head><body><form><textarea>This is a long line of text for testing purposes...</textarea></form></body></html>
Saya menemukan cara untuk membuat textarea dengan semua ini bekerja secara bersamaan:
Dengan scrollbar horizontal
Mendukung teks multiline
Teks tidak dibungkus
Ini bekerja dengan baik pada:
Chrome 15.0.874.120
Firefox 7.0.1
Opera 11.52 (1100)
Safari 5.1 (7534.50)
IE 8.0.6001.18702
Izinkan saya menjelaskan bagaimana saya mencapai hal itu: Saya menggunakan alat terintegrasi inspektur Chrome dan saya melihat nilai pada gaya CSS, jadi saya mencoba nilai-nilai ini, bukannya yang normal ... percobaan & kesalahan sampai saya dikurangi menjadi minimum dan ini dia adalah untuk siapa saja yang menginginkannya.
Di bagian CSS saya menggunakan ini untuk Chrome, Firefox, Opera dan Safari:
JavaScript adalah untuk membuat validator W3C yang melewati XHTML 1.1 Strict, karena atribut wrap tidak resmi dan dengan demikian tidak dapat menjadi tag (x) HTML secara langsung, tetapi sebagian besar browser menanganinya, jadi setelah memuat halaman itu menetapkan atribut itu.
Semoga ini dapat diuji pada lebih banyak browser dan versi dan membantu seseorang untuk memperbaikinya dan membuatnya sepenuhnya cross-browser untuk semua versi.
+1 .wrap = 'off' adalah keajaiban yang berhasil dalam FF 14.0.1 ... Terima kasih.
Shanimal
JavaScript tampaknya tidak berfungsi di Safari 5.0.6 (versi PPC terakhir), meskipun Anda dapat menggunakan wrap = "off" dalam HTML.
.wrap adalah apa yang dilakukan untuk saya, menggunakan Chrome. Saya juga menggunakannya bersamaan dengan no-wrap in css.
MineAndCraft12
wrap = 'off' membuat IE berperilaku seperti browser lain.
Rand Scullard
4
Pertanyaan ini tampaknya menjadi yang paling populer untuk menonaktifkan textareabungkus. Namun, pada April 2017 saya menemukan bahwa IE 11 (11.0.9600) tidak akan menonaktifkan bungkus kata dengan solusi di atas.
Satu- satunya solusi yang berfungsi untuk IE 11 adalah wrap="off". wrap="soft"dan / atau berbagai atribut CSS seperti white-space: preubah di mana IE 11 memilih untuk membungkus tetapi masih membungkus di suatu tempat. Perhatikan bahwa saya telah menguji ini dengan atau tanpa Tampilan Kompatibilitas . IE 11 kompatibel dengan HTML 5, tetapi tidak dalam hal ini.
Jadi, untuk mencapai garis yang mempertahankan ruang putih mereka dan keluar dari sisi kanan saya menggunakan:
Kebetulan ini juga berfungsi di Chrome & Firefox. Saya tidak membela penggunaan pra-HTML 5 wrap="off", hanya mengatakan bahwa tampaknya diperlukan untuk IE 11.
Mungkin bekerja dengan ACE karena tidak menggunakan textareasalah satu yang kurang ditentukan / diimplementasikan secara tidak jelas, tetapi tidak yakin apakah itu digunakan contenteditable.
Jawaban:
Textareas tidak boleh dibungkus secara default, tetapi Anda dapat mengatur wrap = "soft" untuk menonaktifkan bungkus secara eksplisit:
EDIT: Atribut "wrap" tidak didukung secara resmi. Saya mendapatkannya dari halaman SELFHTML Jerman (sumber bahasa Inggris ada di sini ) yang mengatakan bahwa IE 4.0 dan Netscape 2.0 mendukungnya. Saya juga mengujinya di FF 3.0.7 di mana ia bekerja seperti seharusnya.Banyak hal telah berubah di sini, SELFHTML sekarang menjadi wiki dan tautan sumber bahasa Inggris sudah mati.EDIT2: Jika Anda ingin memastikan setiap browser mendukungnya, Anda dapat menggunakan CSS untuk mengubah perilaku wrap:
Dari sini (sepertinya halaman yang bagus dengan informasi tentang textarea).
EDIT3: Saya tidak yakin kapan itu berubah (menurut komentar, pasti sudah sekitar 2014), tetapi
wrap
sekarang atribut HTML5 resmi, lihat w3schools . Mengubah jawaban untuk mencocokkan ini.sumber
white-space: pre;
(ataupre-line
/pre-wrap
) memiliki pengaruh yang sama denganwrap="off"
saya (padahalwhite-space: nowrap
saya tidak menghargaipadding
)wrap
HTML5 valid ... pengaturannya sekarang"hard"
dan"soft"
( ref )wrap="off"
tidak lagi valid namun itu adalah persyaratan untuk IE dan Edge!white-space: nowrap
juga berfungsi jika Anda tidak peduli dengan spasi putih, tetapi tentu saja Anda tidak ingin itu jika Anda bekerja dengan kode (atau paragraf indentasi atau konten apa pun di mana mungkin sengaja ada beberapa spasi) ... jadi saya lebih sukapre
.overflow-wrap: normal
(Beradaword-wrap
di browser yang lebih lama) diperlukan jika beberapa orang tua telah mengubah pengaturan itu; itu dapat menyebabkan pembungkus meskipunpre
diatur.juga - bertentangan dengan jawaban yang diterima saat ini - dihapus saja jangan sering membungkus secara default.
pre-wrap
tampaknya menjadi default di browser saya.sumber
overflow-x: scroll
denganoverflow: auto
. Bilah gulir mengurangi ruang pengetikan yang tersedia di area teks. IE11 juga membuat bilah gulir vertikal secara tidak perlu dengan cara Anda, tetapioverflow: auto
memperbaikinya.Solusi berbasis CSS berikut ini berfungsi untuk saya:
sumber
Saya menemukan cara untuk membuat textarea dengan semua ini bekerja secara bersamaan:
Ini bekerja dengan baik pada:
Izinkan saya menjelaskan bagaimana saya mencapai hal itu: Saya menggunakan alat terintegrasi inspektur Chrome dan saya melihat nilai pada gaya CSS, jadi saya mencoba nilai-nilai ini, bukannya yang normal ... percobaan & kesalahan sampai saya dikurangi menjadi minimum dan ini dia adalah untuk siapa saja yang menginginkannya.
Di bagian CSS saya menggunakan ini untuk Chrome, Firefox, Opera dan Safari:
Di bagian CSS saya menggunakan ini untuk IE:
Itu agak rumit, tetapi ada CSS.
Tag (x) HTML seperti ini:
Dan di akhir
<head>
bagian JavaScript seperti ini:JavaScript adalah untuk membuat validator W3C yang melewati XHTML 1.1 Strict, karena atribut wrap tidak resmi dan dengan demikian tidak dapat menjadi tag (x) HTML secara langsung, tetapi sebagian besar browser menanganinya, jadi setelah memuat halaman itu menetapkan atribut itu.
Semoga ini dapat diuji pada lebih banyak browser dan versi dan membantu seseorang untuk memperbaikinya dan membuatnya sepenuhnya cross-browser untuk semua versi.
sumber
Pertanyaan ini tampaknya menjadi yang paling populer untuk menonaktifkan
textarea
bungkus. Namun, pada April 2017 saya menemukan bahwa IE 11 (11.0.9600) tidak akan menonaktifkan bungkus kata dengan solusi di atas.Satu- satunya solusi yang berfungsi untuk IE 11 adalah
wrap="off"
.wrap="soft"
dan / atau berbagai atribut CSS sepertiwhite-space: pre
ubah di mana IE 11 memilih untuk membungkus tetapi masih membungkus di suatu tempat. Perhatikan bahwa saya telah menguji ini dengan atau tanpa Tampilan Kompatibilitas . IE 11 kompatibel dengan HTML 5, tetapi tidak dalam hal ini.Jadi, untuk mencapai garis yang mempertahankan ruang putih mereka dan keluar dari sisi kanan saya menggunakan:
Kebetulan ini juga berfungsi di Chrome & Firefox. Saya tidak membela penggunaan pra-HTML 5
wrap="off"
, hanya mengatakan bahwa tampaknya diperlukan untuk IE 11.sumber
Jika Anda dapat menggunakan JavaScript, berikut ini mungkin opsi paling portabel saat ini (Firefox 31 yang diuji, Chrome 36):
contenteditable="true"
http://jsfiddle.net/cirosantilli/eaxgesoq/
Tampaknya tidak ada standar, solusi CSS portabel:
wrap
atribut tidak standarwhite-space: pre;
tidak berfungsi untuk Firefox 31 untuktextarea
. Biola , permintaan fitur terbuka .Juga, jika Anda dapat menggunakan Javascript, Anda mungkin juga menggunakan editor ACE:
http://jsfiddle.net/cirosantilli/bL9vr8o8/
Mungkin bekerja dengan ACE karena tidak menggunakan
textarea
salah satu yang kurang ditentukan / diimplementasikan secara tidak jelas, tetapi tidak yakin apakah itu digunakancontenteditable
.sumber