CSS text-overflow: ellipsis
di baris kedua, apakah ini mungkin? Saya tidak dapat menemukannya di internet.
contoh:
yang saya inginkan adalah seperti ini:
I hope someone could help me. I need
an ellipsis on the second line of...
tetapi yang terjadi adalah ini:
I hope someone could help me. I ...
Jawaban:
Persyaratan untuk
text-overflow: ellipsis;
bekerja adalah versi satu bariswhite-space
(pre
,nowrap
dll). Yang berarti teks tidak akan pernah mencapai baris kedua.Jadi. Tidak mungkin dalam CSS murni.
Sumber saya ketika saya sedang mencari hal yang sama persis sekarang: http://www.quirksmode.org/css/textoverflow.html (Quirksmode ftw!)
EDIT Jika dewa CSS yang baik akan mengimplementasikan http://www.w3.org/TR/css-overflow-3/#max-lines kita dapat memperbaharuinya dalam CSS murni menggunakan
fragments
(baru) danmax-lines
(baru). Juga beberapa info lebih lanjut tentang http://css-tricks.com/line-clampin/EDIT 2 WebKit / Blink memiliki
line-clamp
:-webkit-line-clamp: 2
akan menempatkan ellipsis di baris ke-2.sumber
Ini seharusnya berfungsi di browser webkit :
sumber
overflow: hidden
agar ini berfungsi.Seperti yang sudah dijawab orang lain, solusi CSS murni tidak ada. Ada plugin jQuery yang sangat mudah digunakan, disebut dotdotdot . Ia menggunakan lebar dan tinggi wadah untuk menghitung jika perlu memotong dan menambahkan elipsis.
Ini jsFiddle .
sumber
Saya menemukan bahwa jawaban Skeep tidak cukup dan membutuhkan
overflow
gaya juga:sumber
jika seseorang menggunakan SASS / SCSS dan menemukan pertanyaan ini - mungkin mixin ini bisa membantu:
ini hanya menambahkan ellipsis di browser webkit. sisanya hanya memotongnya saja.
sumber
/* autoprefixer: off */
ke yang/*! autoprefixer: off */
lain-webkit-box-orient: vertical;
dihapus setelah kompilasi yang berarti ellipsis tidak pernah menunjukkanCukup gunakan garis-penjepit untuk browser yang mendukungnya (sebagian besar browser modern) dan kembali ke 1 baris untuk yang lebih lama.
sumber
Sayang sekali Anda tidak bisa membuatnya bekerja lebih dari dua baris! Akan luar biasa jika elemennya adalah tampilan blok dan memiliki ketinggian diatur ke 2em atau sesuatu, dan ketika teks meluap akan menampilkan ellipsis!
Untuk satu liner, Anda dapat menggunakan:
Untuk beberapa baris mungkin Anda bisa menggunakan Polyfill seperti jQuery autoellipsis yang ada di github http://pvdspek.github.com/jquery.autoellipsis/
sumber
dotdotdot
disebutkan dalam posting lain.Saya bukan pro JS, tapi saya menemukan beberapa cara Anda bisa melakukan ini.
HTML:
Kemudian dengan jQuery Anda memotongnya ke jumlah karakter tertentu tetapi meninggalkan kata terakhir seperti ini:
Hasilnya terlihat seperti ini:
Atau, Anda bisa memotongnya ke jumlah karakter tertentu seperti ini:
Hasilnya terlihat seperti ini:
Semoga itu bisa membantu sedikit.
Ini jsFiddle .
sumber
di sini adalah contoh yang baik di css murni.
sumber
Saya telah menggunakan plugin jQuery-condense-plugin sebelumnya, yang sepertinya dapat melakukan apa yang Anda inginkan. Jika tidak, ada beberapa plugin yang mungkin sesuai dengan kebutuhan Anda.
Sunting: Membuat Anda demo - perhatikan bahwa saya menautkan jquery.condense.js pada demo yang melakukan keajaiban, kredit penuh untuk pembuat plugin itu :)
sumber
Ini adalah CSS non-standar, yang tidak tercakup dalam versi CSS saat ini (Firefox tidak mendukungnya). Coba gunakan JavaScript sebagai gantinya.
sumber
Cara css murni memangkas teks multiline dengan ellipsis
Sesuaikan hight kontener teks, baris kontrol untuk dipecah oleh -webkit-line-clamp: 2;
sumber
Saya telah bertemu masalah ini sebelumnya, dan tidak ada solusi css murni
Itu sebabnya saya telah mengembangkan perpustakaan kecil untuk menangani masalah ini (antara lain). Perpustakaan menyediakan objek untuk memodelkan dan melakukan rendering teks tingkat huruf. Misalnya Anda dapat meniru teks-overflow: ellipsis dengan batas arbitrer (tidak perlu satu baris)
Baca lebih lanjut di http://www.samuelrossille.com/home/jstext.html untuk tangkapan layar, tutorial, dan tautan dowload.
sumber
Jika ada yang mencoba membuat garis-penjepit bekerja di flexbox , itu sedikit rumit - terutama sekali Anda melakukan tes penyiksaan dengan kata-kata yang sangat panjang. Satu-satunya perbedaan nyata dalam cuplikan kode ini adalah
min-width: 0;
pada item fleksibel yang berisi teks terpotong, danword-wrap: break-word;
. Hat-tip untuk https://css-tricks.com/flexbox-truncated-text/ untuk wawasan. Penafian: ini masih webkit sejauh yang saya tahu.http://codepen.io/AlgeoMA/pen/JNvJdx (versi codepen)
sumber
Semua jawaban di sini salah, mereka kehilangan bagian penting, tingginya
sumber
metode css murni berdasarkan -webkit-line-clamp, yang bekerja di webkit:
sumber
Tidak ada cara mudah nyata untuk melakukan ini. Gunakan perpustakaan Clamp.js .
sumber
Saya menemukan solusi namun Anda perlu mengetahui panjang karakter kasar yang cocok dengan area teks Anda, kemudian bergabung dengan ... ke ruang sebelumnya.
Cara saya melakukan ini adalah:
kode:
di sini adalah biola - http://jsfiddle.net/GYsW6/1/
sumber