回答于 2022-12-14HTML文字超过两行以后 就用省略号显示代替如下:
style = " overflow : hidden text-overflow : ellipsis display : -webkit-box -webkit-line-clamp : 2 -webkit-box-orient : vertical "
HTML文字超过一行以后 就用省略号显示代替如下:
.font_cut{ width: 100% white-space:nowrap overflow:hidden text-overflow: ellipsis }
<div class="font_cut" style="width: 300px">34<span>一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;</span>35</div>
html文字超出两行,则显示省略号
多行超出显示省略号
overflow: hidden
text-overflow: ellipsis
display: -webkit-box
-webkit-line-clamp: 2//2行
-webkit-box-orient: vertical
注意:-webkit-line-clamp是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。只适用于WebKit内核的浏览器,因此firebox、ie等并不支持该属性。
其他浏览器做法:
比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现:
文字容器样式设置:
position:relative
line-height:1.4em
height:4.2em//height是line-height的整数倍,防止文字显示不全
overflow:hidden
文字容器::after {
background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0)
bottom: 0
content: "..."
padding: 0 5px 1px 30px
position: absolute
right: 0
}
或者使用插件:js插件-Clamp.js 、 jquery插件-jQuery.dotdotdot
单行不换行:width:100%text-overflow:ellipsiswhite-space:nowrapoverflow:hidden
虽然这种写法有点傻....但是还是写下来吧......
(字体变小对用户体验极其糟糕)
推荐使用响应式开发,以下写法能用,但是并不推荐
首先你要测试好你多少个字会超出文本框
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>测试</title>
</head>
<!--我还是很萌响应式的-->
<div id="box">
<p id="css">喵喵喵喵喵喵喵喵喵喵</p>
</div>
<script>
var box = document.getElementById('box')
var box = box.innerText //获取 div box里面的所有字
var cat = box.length //转换为字数
if(cat >= 10) //如果box里面字数大于或者等于10
{
document.getElementById("css").style.fontSize=40+'px'
//如果大于10个字 字体大小为40px
}
else{
//否则为80px大小
document.getElementById("css").style.fontSize=80+'px'
}
</script>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)