Coba ini, saya pikir ini akan bekerja untuk sesuatu seperti "AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRRRRRRRGGGGGGGGGGGGGGGGGGGGGGG" akan menghasilkan
AARRRRRRRRRRRRRRRRRRRR
RRGGGGGGGGGGGGGGGGGGGG
G
Saya telah mengambil contoh saya dari beberapa situs web berbeda di Google. Saya telah menguji ini di ff 5.0, IE 8.0, dan Chrome 10.
.wrapword {
white-space: -moz-pre-wrap !important;
white-space: -webkit-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
word-wrap: break-word;
word-break: break-all;
white-space: normal;
}
<table style="table-layout:fixed; width:400px">
<tr>
<td class="wrapword">
</td>
</tr>
</table>
word-break: break-word;
Gunakan CSS3
word-wrap: break-word;
. Bekerja di browser berbasis WebKit (Safari, Chrome) juga.Pembaruan : Saya lupa, elemen yang dimaksud harus diposisikan secara implisit atau eksplisit sebagai elemen tetap atau ditampilkan sebagai elemen blok. Untuk sel tabel (
td
), gunakandisplay: inline-block;
.sumber
display: inline-block;
.Ini adalah versi lanjutan dari apa yang diminta OP.
Terkadang, yang terjadi adalah, klien kami ingin kami memberi '-' setelah jeda kata ke akhir baris.
Suka
istirahat ke
Jadi, ada properti CSS baru jika didukung, biasanya didukung di browser terbaru.
.dont-break-out { /* These are technically the same, but use both */ overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; /* This is the dangerous one in WebKit, as it breaks things wherever */ word-break: break-all; /* Instead use this non-standard one: */ word-break: break-word; /* Adds a hyphen where the word breaks, if supported (No Blink) */ -ms-hyphens: auto; -moz-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; }
Saya menggunakan yang ini.
Saya berharap seseorang akan memiliki permintaan seperti ini.
sumber
Untuk tata letak tabel otomatis, coba berikan gaya td yang bersangkutan dengan menggabungkan atribut max-width dan word-wrap.
Misalnya:
<td style="max-width:175px; word-wrap:break-word;"> ... </td>
Diuji di Firefox 32, Chrome 37 dan IE11.
sumber
max-width
, dan tidak denganwidth
. Meskipun demikian solusi terbaik bagi saya, karena tidak memecah kata-kata pada titik sembarangan.Anda dapat memasukkan spasi lebar nol (& # 8203;) secara manual untuk membuat break point.
sumber
<wbr>
[untuk "jeda kata"]. Berikut adalah dukungan browser untuk ini dan​
solusinya: quirksmode.org/oddsandends/wbr.htmlTetapkan lebar kolom untuk
td
tag.sumber
Saya pikir ini adalah masalah lama di Firefox, yang mengingatkan kembali pada Mozilla dan Netscape. Saya yakin Anda mengalami masalah dengan tampilan URL yang panjang. Saya pikir ini adalah masalah dengan mesin rendering daripada sesuatu yang dapat Anda perbaiki dengan CSS, tanpa beberapa peretasan yang buruk.
Masuk akal untuk mengubah desain.
Ini tampak penuh harapan: http://hacks.mozilla.org/2009/06/word-wrap/
sumber
Saya menggunakan Angular untuk proyek saya, dan berhasil menyelesaikan ini dengan filter sederhana:
Template:
<td>{{string | wordBreak}}</td>
Saring:
app.filter('wordBreak', function() { return function(string) { return string.replace(/(.{1})/g, '$1'); } })
Anda tidak dapat melihatnya, tetapi setelah
$1
ada spasi yang tidak terlihat (terima kasih @kingjeffrey atas tipnya), yang mengaktifkan jeda kata untuk sel tabel.sumber
Salah satu cara yang sedikit hack untuk melakukan ini adalah dengan memproses teks untuk menambahkan spasi di antara setiap huruf. Ganti spasi dengan
Kemudian gunakan atribut css spasi-huruf untuk menurunkan spasi.Saya tahu, ini adalah retasan ... tetapi jika TIDAK ADA yang berfungsi, itu harus dibungkus tanpa masalah.
sumber