2017-09-25 42 views
2

我想显示一些文本,最大高度(文本框的)4行,如果文本更长我想显示三个点(...)。为了达到这种效果,这是我使用的代码:文本省略号不能与RTL方向一起使用?

.txt{ 
    overflow: hidden; 
    display: -webkit-box; 
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical; 
} 

这基本上是工作正是我想要的,但如果我的文字方向设置为rtl的三个点不显示。不明白是什么原因。 CodePen here

.wrapper { 
 
    padding: 10px; 
 
    background: #eaeaea; 
 
    max-width: 400px; 
 
    margin: 20px; 
 
} 
 

 
.txt { 
 
    overflow: hidden; 
 
    display: -webkit-box; 
 
    -webkit-line-clamp: 4; 
 
    -webkit-box-orient: vertical; 
 
} 
 

 
.demo-1 { 
 
    direction: ltr; 
 
} 
 

 
.demo-2 { 
 
    direction: rtl; 
 
}
<div class="wrapper"> 
 
    <p class="demo-1 txt">Working as intended.<br> 1daklssdj alskdj alkdjaslkdj alkdj alkdjalkdjalkdj alskdjalskdjlaskdj alkdj alkdj alkdjalkdjalkdj alskdjal skdj alksdj alskdj alkdj alksdj alskdj alskdj laskdj alksdj alkjd laksdj alskdj alskdj alkdj alskdj alskdj aslkdj alk</p> 
 
</div> 
 

 
<div class="wrapper"> 
 
    <p class="demo-2 txt">NOT working. Why?? <br>daklsdj alskdj alkdjaslkdj alkdj alkdjalkdjalkdj alskdjalskdjlaskdj alkdj alkdj alkdjalkdjalkdj alskdjal skdj alksdj alskdj alkdj alksdj alskdj alskdj laskdj alksdj alkjd laksdj alskdj alskdj alkdj alskdj alskdj aslkdj alk</p> 
 
</div>

+1

嗯......据在其他网站上的信息,似乎有一般的RTL与线钳的支持。 – StanE

+2

另请参见https://stackoverflow.com/questions/20043121/webkit-line-clamp-multi-line-ellipsis-not-working-with-direction-rtl – Danield

回答

0

请试试这个。在CSS中这是不可能的。

var myid=document.getElementById('txt1'); 
 
myid.innerHTML=myid.innerHTML.substring(0,241)+'...'; 
 

 
var myid=document.getElementById('txt2'); 
 
myid.innerHTML=myid.innerHTML.substring(0,241)+'...';
.wrapper { 
 
    padding: 10px; 
 
    background: #eaeaea; 
 
    max-width: 400px; 
 
    margin: 20px; 
 
} 
 
.demo-1 { 
 
    direction: ltr; 
 
} 
 
.demo-2 { 
 
    direction: rtl; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="wrapper"> 
 
    <p class="demo-1 txt" id="txt1">Working as intended.<br> 1daklssdj alskdj alkdjaslkdj alkdj alkdjalkdjalkdj alskdjalskdjlaskdj alkdj alkdj alkdjalkdjalkdj alskdjal skdj alksdj alskdj alkdj alksdj alskdj alskdj laskdj alksdj alkjd laksdj alskdj alskdj alkdj alskdj alskdj aslkdj alk</p> 
 
</div> 
 

 
<div class="wrapper"> 
 
    <p class="demo-2 txt" id="txt2">NOT working. Why?? <br>daklsdj alskdj alkdjaslkdj alkdj alkdjalkdjalkdj alskdjalskdjlaskdj alkdj alkdj alkdjalkdjalkdj alskdjal skdj alksdj alskdj alkdj alksdj alskdj alskdj laskdj alksdj alkjd laksdj alskdj alskdj alkdj alskdj alskdj aslkdj alk</p> 
 
</div>

+1

在他的** Q **没有JavaScript标记,所以最好只在有**的情况下坚持** CSS **。如果你想在你的解决方案中使用** js **,那么在应用之前最好问问他。 :) – weBBer

+0

谢谢你们。我看到没有原生的CSS解决方案,所以我必须考虑JS。 – undroid