line-clamp
Besedilo lastnine skrajša na določeno število linij.
Specifikacija zanj je trenutno uredniški osnutek, tako da to pomeni, da tukaj ni nič zastavljeno, ker gre za delo v teku. Kljub temu je opredeljeno kot okrajšava za max-lines
in block-overflow
, za katero je v priporočilu za kandidate navedeno, da obstaja nevarnost, da bo opuščen.
Preprosto je videti, kako max-lines
bi bilo niksirano, saj je njegova funkcija (nastavitev števila vrstic pred odsekanjem) že vpeta line-clamp
in morebitna nadaljnja abstrakcija morda ni potrebna. Ampak to nas spravi iz tira, zato gremo naprej.
Sintaksa
.module ( line-clamp: (none | ); )
line-clamp
sprejema naslednje vrednosti v trenutnem osnutku specifikacije:
none
: ne nastavi največjega števila vrstic in posledično ne bo prišlo do okrnitve.: nastavi največje število vrstic pred skrajšanjem vsebine in nato na koncu zadnje vrstice prikaže elipso (...).
Ta elipsa bi se morala upodabljati kot znak Unicode (U + 2026), vendar bi jo lahko nadomestil enakovreden glede na uporabljeni jezik vsebine in način pisanja uporabniškega agenta.
Hej, ali tega ne morem storiti s prelivanjem besedila?
Pošteno vprašanje, prijatelj, in odgovor je, no ...
(Poglejte, kaj sem tam počel?)
... sorta.
text-overflow
res ima ellipsis
vrednost, ki bo okrnila besedilo:
.truncate ( text-overflow: ellipsis; /* Needed to make it work */ overflow: hidden; white-space: nowrap; )
Oglejte si prelivanje besedila Pen z Geoffom Grahamom (@geoffgraham) na CodePen.
Lepo lepo, to je dober začetek. Kaj pa, če želimo elipso predstaviti ne v prvi vrstici, ampak nekje, recimo v tretji vrstici besedila?
Tu line-clamp
pride do izraza. Upoštevajte le, da se za njegovo uporabo uporablja kombinacija treh lastnosti:
.line-clamp ( display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; )
Glejte Pen-line clamp (-webkit) Geoff Graham (@geoffgraham) na CodePen.
Firefox to zdaj podpira, točno na ta način (s -webkit-
predponami in vsem).
Torej, v čem je ulov?
Trenutno podpira brskalnik. Objemke vrvi so del modula CSS Overflow Level 3, ki je trenutno v Editor's Draft in trenutno trenutno ni podprt.
Lahko dobimo nekaj vpenjalnih vrstic s -webkit-
predpono (ki je, čudno, deluje v vseh večjih brskalnikih). Pravzaprav je tako narejena zgornja predstavitev.
Če želimo, bi lahko šli po poti JavaScript. Clamp.js bo naredil trik:
Glejte Pen-line clamp (clamp.js) Geoff Graham (@geoffgraham) na CodePen.
Podpora za brskalnik
To je podpora za korektnost in nedokumentirano izvajanje linijske spone WebKit.
Ti podatki o podpori brskalnika so od Caniuse, ki vsebuje več podrobnosti. Številka pomeni, da brskalnik podpira to funkcijo v tej različici ali novejši.
Namizje
Chrome | Firefox | IE | Rob | Safari |
---|---|---|---|---|
14 * | 68 * | Ne | 17. | 5 * |
Mobilni / tablični računalnik
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 * | 85 * | 2,3 * | 5,0-5,1 * |