2017-07-12 108 views
-1

我想在不能放入父母身高的字符串的末尾添加3個點,我試過使用省略號但它只是在寬度是固定部分而不是高度。當有不換行符,換行符是這個問題的一個重要組成部分,它們不能被刪除:(。CSS在一個字符串的末尾添加「垂直」點

#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>

如果CSS是不夠的,你可以使用JavaScript或解決方案的建議如果你喜歡的jQuery

+0

您wan't擁有多行文本橢圓效果,是這樣嗎? – Raimonds

+0

不,只是在文本的末尾 –

+0

我會考慮將字符串定時到一定的長度,並最後用3個點附加它,而不是依靠css,最後還會有很多可比較性問題。或者有另一個「簡介文本」的數據源,但根據我的經驗不要嘗試使用它,只需將3個點附加到修剪後的字符串 – Raimonds

回答

0

1的Webkit線clamb可以幫助你是的!瀏覽器支持不佳

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

爲了您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-另一個純CSS解決方案

<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

瀏覽器支持非常低http://caniuse.com/#search=clamp – Gerard

+0

@Gerard我提供了另一種解決方案,你也可以在這裏查看http://hackingui.com/front-end/a-pure-css-solution-for-multiline-text-truncation/ –

+0

一些瀏覽器可能有不同的行高,所以那看起來很糟糕,你最終可能會看到一半可見的線 PS 如果超過最大長度或者在js中做同樣的操作,我最好用文字來指代服務器端的文本修剪,因爲它更可靠,感覺更自然 – Raimonds

相關問題