Saya membuat situs web responsif untuk sekolah dan pertanyaan saya adalah:
Bagaimana cara menetapkan panjang karakter maksimum kalimat (dengan CSS) di situs web saya (seperti 75 karakter) bahwa ketika saya memiliki layar yang sangat besar, kalimat tidak akan melangkah lebih jauh dari 75 karakter.
Saya telah mencoba lebar maks tetapi itu mengacaukan tata letak saya. Saya menggunakan permintaan flexbox dan media untuk membuatnya responsif.
textarea
atauinput
ada properti max panjang (maxlength="50"
ini dalam HTML) untuk mereka atau Anda harus menggunakan Javascript. Saya juga kira saya salah membaca ini, menetapkan lebar akan memaksa kalimat untuk turun ke baris berikutnya ketika hits akhir. Ini adalah perilaku default.Jawaban:
Anda selalu dapat menggunakan metode terpotong dengan mengatur
max-width
dan melimpahellipsis
seperti iniContoh: http://jsfiddle.net/3czeyznf/
Untuk pemotongan multi-line lihatlah
flex
solusinya. Contoh dengan pemotongan pada 3 baris.Contoh: https://codepen.io/srekoble/pen/EgmyxV
sumber
Ada 'nilai panjang' CSS dari
ch
.Dari MDN
Ini mungkin mendekati apa yang Anda cari.
sumber
ch
unit) tampaknya tidak berfungsi (seperti yang diharapkan) bagi saya di Chrome 50, IE11 atau FF45 ?!height
danoverflow:hidden
. Saya memang suka elipsis, tetapi saya hanya bisa membuatnya bekerja jika saya aturwhite-space:no-wrap
. Dalam kasus saya, teks dapat dibungkus, hanya saja tidak melebihi batas karakter tertentu di dalam wadahnya.white-space: nowrap;
Coba ini untuk memotong karakter setelah mengaturnya ke lebar maksimal. Saya telah menggunakan 75ch dalam hal ini
Untuk pemotongan multiline, silakan ikuti tautan.
Contoh: https://codepen.io/srekoble/pen/EgmyxV
Kami akan menggunakan css webkit untuk ini. Singkatnya WebKit adalah mesin rendering browser web HTML / CSS untuk Safari / Chrome. Ini mungkin spesifik browser karena setiap browser didukung oleh mesin rendering untuk menggambar halaman web HTML / CSS.
sumber
max-width:100%;
untuk div pembungkus. Jadi, Anda memiliki pemotongan yang responsif.contoh kode:
sumber
Dengan Chrome Anda dapat mengatur jumlah baris yang ditampilkan dengan " -webkit-line-clamp ":
Jadi bagi saya itu adalah untuk digunakan dalam ekstensi sehingga sempurna, informasi lebih lanjut di sini: https://medium.com/mofed/css-line-clamp-the-good-the-bad-and-the-st Lurus-up -broken-865413f16e5
sumber
Itu tidak mungkin dengan CSS, Anda harus menggunakan Javascript untuk itu. Meskipun Anda dapat mengatur lebar p hingga 30 karakter dan huruf berikutnya akan turun secara otomatis, tetapi sekali lagi ini tidak akan seakurat itu dan akan bervariasi jika karakter menggunakan huruf kapital.
sumber
HTML
jQuery
CSS
HASIL
Jsfiddle
sumber
Solusi CSS murni untuk memotong karakter multi-baris
Saya memiliki masalah yang sama dan menemukan solusi css hanya luar biasa ini dari Hackingui.com . Anda dapat membaca artikel untuk informasi tetapi di bawah ini adalah kode utamanya.
Saya mengujinya dan bekerja dengan sempurna. Semoga seseorang menemukan itu berguna sebelum memilih opsi sisi JS atau server
sumber
Jawaban Kotak CSS Modern
Lihat kode yang berfungsi penuh pada CodePen . Diberikan HTML berikut:
Anda dapat menggunakan CSS Grid untuk membuat tiga kolom dan memberi tahu wadah untuk mengambil lebar maksimum 70 karakter untuk kolom tengah yang berisi paragraf kami.
Ini seperti apa (Checkout CodePen untuk contoh yang berfungsi penuh):
Berikut adalah contoh lain di mana Anda bisa menggunakan minmax untuk menetapkan rentang nilai. Pada layar kecil lebarnya akan diatur menjadi 50 karakter dan pada layar besar lebarnya 70 karakter.
sumber
ch
kolom. Menyenangkan.rrdOvr
. ;)Posting ini adalah untuk solusi CSS, tetapi pos tersebut sudah cukup lama, jadi kalau-kalau orang lain tersandung dan menggunakan kerangka JS modern seperti Angular 4+, ada cara sederhana untuk melakukan ini melalui Pipa Angular tanpa harus main-main dengan CSS.
Mungkin ada cara "Bereaksi" atau "Vue" untuk melakukan ini juga. Ini hanya untuk menunjukkan bagaimana hal itu dapat dilakukan dalam suatu kerangka kerja.
truncate-text.pipe.ts
app.component.html
sumber
Coba solusi saya dengan 2 cara berbeda.
sumber