Saya tahu Anda dapat menggunakan kombinasi aturan CSS untuk membuat teks diakhiri dengan elipsis (...) ketika waktunya meluap (keluar dari batas orang tua).
Apakah mungkin (jangan ragu untuk mengatakan, tidak) untuk mencapai efek yang sama, tetapi biarkan teks membungkus lebih dari satu baris?
div {
width: 300px;
height: 42px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Seperti yang Anda lihat, teks diakhiri dengan elipsis saat lebih lebar dari lebar div. Namun, masih ada cukup ruang bagi teks untuk dibungkus pada baris kedua dan dilanjutkan. Ini terganggu oleh white-space: nowrap
, yang diperlukan agar elipsis berfungsi.
Ada ide?
PS: Tidak ada solusi JS, CSS murni jika memungkinkan.
Jawaban:
Saya tidak yakin apakah Anda telah melihat INI , tetapi CSS-Tricks.com Chris Coyier yang luar biasa memposting tautan ke ini beberapa waktu lalu dan ini adalah solusi CSS murni yang menyelesaikan apa yang Anda cari.
(Klik untuk Melihat di CodePen)
HTML:
CSS:
Tentu saja, menjadi solusi CSS murni berarti itu juga cukup rumit, tetapi bekerja dengan rapi dan elegan. Saya akan berasumsi bahwa Javascript tidak mungkin dilakukan karena ini jauh lebih mudah dicapai (dan bisa dibilang lebih terdegradasi) dengan Javascript.
Sebagai bonus tambahan, ada file zip yang dapat diunduh dari proses lengkap (jika Anda ingin memahaminya dan semua), tetapi juga file mixin SASS sehingga Anda dapat melipatnya ke dalam proses Anda dengan mudah.
Semoga ini membantu!
http://www.mobify.com/blog/multiline-ellipsis-in-pure-css/
sumber
Properti CSS yang mudah dapat melakukan triknya. Berikut ini adalah untuk elipsis tiga baris.
sumber
Lihatlah versi css murni ini: http://codepen.io/martinwolf/pen/qlFdp
sumber
text-overflow
dandisplay
aturan?Css di bawah harus melakukan triknya.
Setelah baris kedua, teks akan berisi ...
sumber
overflow:hidden
Gunakan ini jika di atas tidak berfungsi
sumber
Solusi saya menggunakan kembali salah satu amcdnl, tetapi fallback saya terdiri dari penggunaan ketinggian untuk wadah teks:
sumber
-webkit-line-clamp
tidak berfungsi untuk IE11, Edge, atau Firefox.Berdasarkan jawaban yang saya lihat di stackoveflow, saya membuat mixin KURANG ini ( gunakan tautan ini untuk menghasilkan kode CSS ):
Pemakaian
sumber
Tampaknya lebih elegan menggabungkan dua kelas. Anda dapat membatalkan
two-lines
kelas jika hanya satu baris yang perlu dilihat:sumber
Membatasi beberapa baris akan berfungsi di hampir semua browser, tetapi elipsis (3 titik) tidak akan ditampilkan di Firefox & IE. Demo - http://jsfiddle.net/ahzo4b91/1/
sumber
Saya telah menemukan kombinasi kerja penjepit garis dan tinggi garis: D
sumber
Di aplikasi sudut saya, gaya berikut bekerja untuk saya untuk mencapai elipsis pada luapan teks di baris kedua :
Semoga bisa membantu seseorang.
sumber
Bagi mereka yang bekerja di scss , Anda perlu menambahkan
!autoprefixer
di awal komentar agar disimpan untuk postcs:Saya menghadapi masalah itu, itulah mengapa mempostingnya di sini
Referensi
sumber
Anda dapat menggunakan efek terlarut alih-alih elipsis, CSS murni dan terlihat lebih profesional:
Di sini saya mengasumsikan warna latar belakang Anda putih.
sumber
Ini adalah peretasan total, tetapi berhasil:
http://jsfiddle.net/2wPNg/
Itu memang memiliki masalah .... mungkin memotong surat dengan canggung, dan mungkin akan memiliki beberapa hasil yang aneh di situs yang responsif.
sumber
Berikut ini skrip sederhana untuk mengelola elipsis menggunakan jQuery. Ini memeriksa ketinggian sebenarnya dari elemen dan itu membuat simpul asli tersembunyi dan simpul terpotong. Ketika pengguna mengkliknya, itu beralih di antara dua versi.
Salah satu keuntungan besar adalah bahwa "elipsis" mendekati kata terakhir, seperti yang diharapkan.
Jika Anda menggunakan solusi CSS murni, tiga titik muncul jauh dari kata terakhir.
sumber
Tidak yakin apa target Anda, tetapi apakah Anda ingin teksnya muncul di baris kedua?
Ini jsFiddle Anda: http://jsfiddle.net/8kvWX/4/ baru saja menghapus yang berikut ini:
Saya tidak yakin apakah ini yang Anda cari atau tidak.
Salam,
Mee
sumber