2017-07-12 4 views
-1

Ich möchte 3 Punkte am Ende einer Zeichenfolge hinzufügen, die nicht in der Höhe passen kann, die Eltern hat, habe ich versucht, Ellipse verwenden, aber es funktioniert nur wenn Die Breite ist der feste Teil und nicht die Höhe. und wenn es nicht Zeilenumbrüche, Zeilenumbrüche sind ein wichtiger Teil dieses Problems, und sie können nicht entfernt werden :(.CSS hinzufügen "vertikale" Punkte am Ende einer Zeichenfolge

#somediv{ 
 
    min-width: 100%; /*It's important to keep the width as 100%*/ 
 
    max-width: 100%; 
 
    min-height: 50px; 
 
    max-height: 50px; 
 
    overflow: hidden; 
 
    white-space: nowrap; 
 
    text-overflow: ellipsis; 
 
    border: 1px solid #eeeeee; 
 
}
<div id="somediv"> 
 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam amet autem 
 
    <br> 
 
    consectetur corporis eaque laboriosam praesentium temporibus? Accusamus   <br> 
 
    consequatur deserunt, dolorum eaque facere inventore labore mollitia possimus, <br> 
 
    quia quo, veniam. 
 
    <br> 
 
    br tags are some important part of the example 
 
    <br> 
 
    As you can see the text is trimmed, 
 
    Without the br tags the text would be in a single line and dot's would be displayed 
 
</div>

Wenn CSS nicht genug ist, können Sie vorschlagen Lösungen mit Hilfe von Javascript oder wenn Sie jQuery bevorzugen

+0

Sie wan't, Pure mit mehrzeiliger Text Ellipse Effekt haben, ist das richtig? – Raimonds

+0

Nein, nur am Ende des Textes –

+0

Ich würde Timing String auf bestimmte Länge und Anhängen es mit 3 Punkten am Ende, eher dann auf CSS verlassen und viele Vergleichbarkeit Probleme am Ende. Oder haben Sie eine andere Datenquelle für "Intro Text", aber aus meiner Erfahrung versuchen Sie es nicht, nur 3 Punkte an die getrimmte Zeichenfolge anfügen – Raimonds

Antwort

0

1- Webkit Linie Clamb kann Ihnen helfen, Ja! Browser-Unterstützung schlecht

overflow: hidden; 
display: -webkit-box; 
-webkit-line-clamp: 3; 
-webkit-box-orient: vertical; 

Für Ihre someDiv

#somediv { 
    min-width: 100%; 
    max-width: 100%; 
    min-height: 50px; 
    max-height: 50px; 
    overflow: hidden; 
    white-space: nowrap; 
    text-overflow: ellipsis; 
    overflow: hidden; 
    display: -webkit-box; 
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical; 
    border: 1px solid #eeeeee; 
} 

2- Eine weitere CSS-Lösung

<div class="block-with-text"> 
Lorem Ipsum, dizgi ve baskı endüstrisinde kullanılan mıgır metinlerdir. Lorem Ipsum, adı bilinmeyen bir matbaacının bir hurufat numune kitabı oluşturmak üzere bir yazı galerisini alarak karıştırdığı 1500'lerden beri endüstri standardı sahte metinler olarak kullanılmıştır. Beşyüz yıl boyunca varlığını sürdürmekle kalmamış, aynı zamanda pek değişmeden elektronik dizgiye de sıçramıştır. 1960'larda Lorem Ipsum pasajları da içeren Letraset yapraklarının yayınlanması ile ve yakın zamanda Aldus PageMaker gibi Lorem Ipsum sürümleri içeren masaüstü yayıncılık yazılımları ile popüler olmuştur. 
</div> 


.block-with-text { 
    overflow: hidden; 
    position: relative; 
    line-height: 1.2em; 
    max-height: 3.6em; 
    text-align: justify; 
    margin-right: -1em; 
    padding-right: 1em; 
    width:80%; 
} 

.block-with-text:before { 
    content: '...'; 
    position: absolute; 
    right: 0; 
    bottom: 0; 
} 

.block-with-text:after { 
    content: ''; 
    position: absolute; 
    right: 0; 
    width: 1em; 
    height: 1em; 
    margin-top: 0.2em; 
    background: white; 
} 

https://jsfiddle.net/pz03jur2/

+0

Browser-Unterstützung ist sehr niedrig http://caniuse.com/#search=clamp – Gerard

+0

@Gerard Ich biete eine andere Lösung, die Sie auch hier überprüfen können http://hackingui.com/front-end/a-pure-css-solution-for-multiline-text-truncation/ –

+0

Einige Browser haben möglicherweise unterschiedliche Zeilenhöhen, so das würde schrecklich aussehen könnte man am Ende mit halb sichtbaren Linie PS Ich würde besser auf serverseitige Textbeschnitt in Worten beziehen, wenn es maximale Länge überschreitet oder das gleiche in js tun, da es zuverlässiger und fühlt sich natürlicher – Raimonds

Verwandte Themen