html怎样让超出的内容显示为省略号?

html怎样让超出的内容显示为省略号?,第1张

文字超出了需要隐藏并显示省略号这个在工作中很多时候都要用到,我想很多人都碰到过吧,这个有两种解决方法\x0d\x0a一是用程序开截取字符长度,这个其实也是可以的\x0d\x0a第二种是用样式来做,这里主要介绍一下用样式怎么来做吧,我话也不多说了吧直接上代码吧,\x0d\x0a \x0d\x0acss样式如下:\x0d\x0a[css]\x0d\x0a.css1{\x0d\x0acolor:#6699ffborder:1px #ff8000 dashed\x0d\x0amargin-bottom:20px\x0d\x0awidth: 20em/*不允许出现半汉字截断*/\x0d\x0a}\x0d\x0a.css2 {\x0d\x0aoverflow: hidden/*自动隐藏文字*/\x0d\x0atext-overflow: ellipsis/*文字隐藏后添加省略号*/\x0d\x0awhite-space: nowrap/*强制不换行*/\x0d\x0awidth: 20em/*不允许出现半汉字截断*/\x0d\x0acolor:#6699ffborder:1px #ff8000 dashed\x0d\x0a}\x0d\x0a[/css]\x0d\x0a \x0d\x0ahtml代码如下:\x0d\x0a[html]\x0d\x0aWeb前端开发 _ 专注于网站前端设计与Web用户体验\x0d\x0aWeb前端开发 _ 专注于网站前端设计与Web用户体验\x0d\x0a[/html]\x0d\x0a\x0d\x0a.css1{\x0d\x0acolor:#6699ffborder:1px #ff8000 dashed\x0d\x0amargin-bottom:20px\x0d\x0awidth: 20em/*不允许出现半汉字截断*/\x0d\x0a}\x0d\x0a.css2 {\x0d\x0aoverflow: hidden/*自动隐藏文字*/\x0d\x0atext-overflow: ellipsis/*文字隐藏后添加省略号*/\x0d\x0awhite-space: nowrap/*强制不换行*/\x0d\x0awidth: 20em/*不允许出现半汉字截断*/\x0d\x0acolor:#6699ffborder:1px #ff8000 dashed\x0d\x0a}\x0d\x0a\x0d\x0aWeb前端开发 _ 专注于网站前端设计与Web用户体验\x0d\x0aWeb前端开发 _ 专注于网站前端设计与Web用户体验\x0d\x0a

回答于 2022-12-14

HTML文字超过两行以后 就用省略号显示代替如下:

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>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6103211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存