所以我有下面的Fiddle,它将文本中的省略号设置为两行。然后我想在文本中内联一个“More”链接。
http://jsfiddle.net/csYjC/2876/
因此,如果文本超过两行,则应如下所示:
是的。但是:
这是不正确的(应该与文本内联)。
代码如下:
<div class="text">
<div>Lorem ipsum dolor sit amet, Lorem Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, Lorem Lorem i</div>
<a href="#">More</a>
</div>
和css:
.text{
display: inline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
line-height: 24px; /* fallback */
max-height: 48px; /* fallback */
-webkit-line-clamp: 2; /* number of lines to show */
-webkit-box-orient: vertical;
}
.text a {
position: absolute;
}
我想一定很容易...先谢谢你。
7条答案
按热度按时间njthzxwz1#
.text
内部的div仍显示为块元素。使用此选项可修复:http://jsfiddle.net/csYjC/2880/
frebpwbc2#
bfnvny8b3#
一个基于-webkit-line-clamp的纯css方法,你可以自定义...更多内容像一个老板:
wlp8pajw4#
好吧,使用flexbox使它变得简单。试试这个吧
https://codepen.io/baagii95/pen/byeNqZ
顺便说一句,我用了sass。如果你想在css版本试试这个。
h7appiyu5#
这里有一个有趣的解决方案,它使用纯CSS和伪元素。http://jsfiddle.net/j8ekzvLq/
js81xvg66#
我用canvas得到了div中内容所占字符串的宽度(因为字体不同,度量会有细微的差别),这里我用string的宽度(即content.textContent)除以div内容的宽度来计算内容被划分的行数
当它大于或等于3时,锚标记的显示属性将更改为块,当它小于3时,将恢复为内联。
输出:
∮这会成功∮
lzfw57am7#
只需向div中添加某个类并将其给予为
display:inline;
:以及