省略不工作
我有以下代码:省略不工作
.biz-desc {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 600px;
}
<div class="section-segment">
<span class="biz-desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent faucibus nisi non tellus pharetra, nec tempus mi fringilla. Vestibulum consequat dolor sit amet orci suscipit, id facilisis metus tempus. Maecenas in massa eget nisl porttitor molestie id ut velit. Nullam quis purus porttitor neque fermentum dignissim quis nec felis. Aenean non maximus quam, sit amet tincidunt sapien. Nam ut gravida libero. Quisque tortor ante, maximus sit amet nunc at, convallis posuere felis. Proin venenatis sit amet metus eu porta.</span>
</div>
我的想法是,说明将被截断,并会显示三个点(...)当文本太长为屏幕。
但是这不起作用。我只是从div
的边框中获取长文本。
我试图添加max-width: 600px;
到.biz-desc
但无济于事。
任何人都可以看到有什么问题或告诉我如何达到这个温和的要求?
从MDN webpage for text-overflow(粗体加为重点):
此属性仅影响溢出块容器元素在它的内嵌前进方向
你所需要的内容将text-overflow
应用于块容器,但将其应用于内联容器(span
)。你可以在两种不同的方式解决问题:
充分利用
span
有block
/inline-block
显示:或应用的
text-overflow
到div
代替span
伙计们,你们都很有帮助。谢谢。 – dsb
max-width
被inline
元素忽略。
有四种可能的解决方案是:
要么你申请的CSS来
.section-segment
,而不是.biz-desc
,或者你的
biz-desc
类添加到<div>
(<div class="section-segment biz-desc">
)或者您将
display: block;
或display: inline-block;
添加到CSS规则或者您将
<span>
更改为块级元素,如<p>
或<div>
。
您只需更改类和最大宽度属性即可:
.section-segment{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 600px;
}
或者alternativelly
.biz-desc{
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 600px;
}
就我个人的经验,我建议你干脆把text-overflow
到<div>
标签。
问题在于把那个放到<span>
标签那里。
您是否曾尝试将'biz-desc'类添加到'div'或将CSS应用于'.section-segment'而不是'.biz-desc'? – Xufox
下面是省略号的工作要求:http://stackoverflow.com/a/33061059/3597276 –