pre
tag sangat berguna untuk blok kode dalam HTML dan untuk debugging output saat menulis skrip, tetapi bagaimana cara membuat teks-bungkus alih-alih mencetak satu baris panjang?
721
Jawabannya, dari halaman ini dalam CSS:
pre {
white-space: pre-wrap; /* Since CSS 2.1 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
white-space:pre-line;
(dan semua rasa yang kompatibel dengan browser) tampaknya lebih memadai dalam beberapa kasus (tanpa tab misalnya) karena menghilangkan ruang di awal baris (jika ada beberapa)pre-line
semua spasi putih (tidak hanya di awal baris). developer.mozilla.org/en-US/docs/Web/CSS/white-space memiliki tabel yang merangkum perilakuwhite-space
nilai.word-wrap: break-word
tidak melakukan apa yang diminta pertanyaan, itu menyebabkan garis pembungkus terjadi bahkan di antara kata-kata. Anda dapat menghapus garis itu. Pada browser modern, Anda tidak memerlukan salah satu-moz
atau awalan lainnya.Ini sangat bagus untuk membungkus teks dan mempertahankan spasi di dalam
pre
tag-:sumber
Saya telah menemukan bahwa melewatkan tag pre dan menggunakan white-space: pre-wrap pada div adalah solusi yang lebih baik.
sumber
style="white-space: pre-wrap; font-family:monospace;"
<pre>
untuk blok kode.Paling ringkas, ini memaksa konten untuk membungkus tag "pre" tanpa melanggar kata-kata. Bersulang!
Lihat contoh langsung di sini .
sumber
Inilah yang saya butuhkan. Itu menjaga kata-kata dari melanggar tetapi memungkinkan untuk lebar dinamis di area pra.
sumber
Saya sarankan lupakan pre dan masukkan saja ke dalam textarea.
Indentasi Anda akan tetap dan kode Anda tidak akan terbungkus kata di tengah jalan atau sesuatu.
Lebih mudah untuk memilih rentang teks di area teks juga jika Anda ingin menyalin ke clipboard.
Berikut ini adalah kutipan php jadi jika Anda tidak di php maka cara Anda mengemas karakter khusus html akan bervariasi.
Untuk info tentang cara menyalin teks ke clipboard di js lihat: Bagaimana cara menyalin ke clipboard di JavaScript? .
Namun...
Saya baru saja memeriksa blok kode stackoverflow dan mereka membungkusnya dengan tag <code> yang dibungkus dengan tag <pre> dengan css ...
Juga isi dari blok kode stackoverflow disorot menggunakan sintaks (saya pikir) http://code.google.com/p/google-code-prettify/ .
Ini pengaturan yang bagus tapi saya hanya menggunakan textareas untuk saat ini.
sumber
<pre>
memiliki makna semantik (tidak seperti<code>
), itu hanya berarti bahwa baris baru dan banyak ruang harus dilestarikan.Saya menggabungkan jawaban @richelectron dan @ user1433454.
Ini bekerja dengan sangat baik dan mempertahankan pemformatan teks.
sumber
Anda dapat:
untuk mempertahankan font monospace tetapi menambahkan bungkus kata, atau:
yang akan memungkinkan ukuran tetap dengan pengguliran horizontal untuk garis panjang.
sumber
Coba gunakan
Atau lebih baik membuang CSS.
sumber
Gunakan
white-space: pre-wrap
dan beberapa awalan untuk pemecahan garis otomatispre
di dalam s.Jangan gunakan
word-wrap: break-word
karena ini hanya, tentu saja, memecah kata menjadi setengah yang mungkin sesuatu yang tidak Anda inginkan.sumber
Cara Palang Browser Terbaik berfungsi bagi saya untuk mendapatkan jeda baris dan menunjukkan kode atau teks yang tepat: (chrome, internet explorer, Firefox)
CSS:
HTML:
sumber
Berikut ini membantu saya:
Terima kasih
sumber
white-space: pre-wrap;
karena itu menghormati ruang putihThe
<pre>
-Element singkatan dari "pra-diformat-teks" dan dimaksudkan untuk menjaga format dari teks (atau apa pun) antara tag-nya. Oleh karena itu sebenarnya tidak ingin memiliki pembungkusan kata atau jeda baris otomatis dalam<pre>
-Tagsumber: w3schools.com , menekankan dibuat sendiri.
sumber