在HTML或CSS中是否有某种方式限制用span显示的字符?我使用一个显示这些信息框的转发器,我想将字符限制为前20个字符,如果输入有更多,那么只是连接?该框如图所示:
我的代码是:
<span class="claimedRight" maxlength="20">{{ item.provider }}</span>
答案 0 :(得分:62)
以下是使用文本溢出的示例:
.text {
display: block;
width: 100px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
<span class="text">Hello world this is a long sentence</span>
答案 1 :(得分:5)
您可以使用CSS属性max-width
并将其与ch
单元一起使用。
并且,由于这是<span>
,所以请使用display: inline-block;
(或块)。
这里是一个示例:
<span style="
display:inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 13ch;">
Lorem ipsum dolor sit amet
</span>
哪个输出:
Lorem ipsum...
<span style="
display:inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 13ch;">
Lorem ipsum dolor sit amet
</span>
答案 2 :(得分:4)
您可以使用css ellipsis;
,但必须为该元素指定固定宽度和overflow:hidden:
。
<span style="display:block;text-overflow: ellipsis;width: 200px;overflow: hidden; white-space: nowrap;">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</span>
答案 3 :(得分:1)
max-length
用于input
个元素。使用CSS的text-overflow
属性。
.claimedRight {
display:block; width: 250px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
答案 4 :(得分:1)
是的,有点。
您可以使用相对于font-size的单位显式调整容器大小:
此外,您可以使用一些CSS属性,例如overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
来帮助限制数量。
答案 5 :(得分:1)
您可以使用jQuery完成此操作:
$(document).ready(function(){
$('.claimedRight').each(function (f) {
var newstr = $(this).text().substring(0,20);
$(this).text(newstr);
});
})
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<span class="claimedRight" maxlength="20">Hello this is the first test string.
</span><br>
<span class="claimedRight" maxlength="20">Hello this is the second test string.
</span>
</body>
</html>
答案 6 :(得分:0)
使用js:
$(document).ready(function ()
{ $(".class-span").each(function(i){
var len=$(this).text().trim().length;
if(len>100)
{
$(this).text($(this).text().substr(0,100)+'...');
}
});
});