Jawaban:
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+ */
}
pre-line
semua spasi putih (tidak hanya di awal baris). developer.mozilla.org/en-US/docs/Web/CSS/white-space memiliki tabel yang merangkum perilaku white-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-:
pre {
white-space: pre-wrap;
}
Saya telah menemukan bahwa melewatkan tag pre dan menggunakan white-space: pre-wrap pada div adalah solusi yang lebih baik.
<div style="white-space: pre-wrap;">content</div>
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!
pre {
white-space: pre-wrap;
word-break: keep-all
}
Lihat contoh langsung di sini .
Inilah yang saya butuhkan. Itu menjaga kata-kata dari melanggar tetapi memungkinkan untuk lebar dinamis di area pra.
word-break: keep-all;
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.
<textarea style="font-family:monospace;" onfocus="copyClipboard(this);"><?=htmlspecialchars($codeBlock);?></textarea>
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 ...
code {
background-color: #EEEEEE;
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
}
pre {
background-color: #EEEEEE;
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
margin-bottom: 10px;
max-height: 600px;
overflow: auto;
padding: 5px;
width: auto;
}
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.
<pre>
memiliki makna semantik (tidak seperti <code>
), itu hanya berarti bahwa baris baru dan banyak ruang harus dilestarikan.
Anda dapat:
pre { white-space: normal; }
untuk mempertahankan font monospace tetapi menambahkan bungkus kata, atau:
pre { overflow: auto; }
yang akan memungkinkan ukuran tetap dengan pengguliran horizontal untuk garis panjang.
Coba gunakan
<pre style="white-space:normal;">.
Atau lebih baik membuang CSS.
Gunakan white-space: pre-wrap
dan beberapa awalan untuk pemecahan garis otomatis pre
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.
Cara Palang Browser Terbaik berfungsi bagi saya untuk mendapatkan jeda baris dan menunjukkan kode atau teks yang tepat: (chrome, internet explorer, Firefox)
CSS:
xmp{ white-space:pre-wrap; word-wrap:break-word; }
HTML:
<xmp> your text or code </xmp>
Berikut ini membantu saya:
pre {
white-space: normal;
word-wrap: break-word;
}
Terima kasih
white-space: pre-wrap;
karena itu menghormati ruang putih
The <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>
-Tag
Teks dalam elemen ditampilkan dalam font dengan lebar tetap (biasanya Kurir), dan mempertahankan spasi dan pemisah baris .
sumber: w3schools.com , menekankan dibuat sendiri.
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)