-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第 127 题:如何用 css 或 js 实现多行文本溢出省略效果,考虑兼容性 #246
Comments
单行: |
text-overflow: ellipsis; |
这个兼容的方法有个问题,如果出现了数字字母这种,是否会出现盖住半个字的操作。 |
width: 300px;
overflow: hidden;
text-overflow: ellip
white-space: nowrap;
div{
width: 300px;
position: relative;
line-height: 1.4em;
height: 4.2em;
overflow: hidden;
}
div::after{
content: "...";
position: absolute;
right: 0;
bottom: 0;
} |
|
`
` `
` |
好的 谢谢 纠正
…------------------ 原始邮件 ------------------
发件人: "ghost2113"<notifications@github.com>;
发送时间: 2019年8月20日(星期二) 上午9:48
收件人: "Advanced-Frontend/Daily-Interview-Question"<Daily-Interview-Question@noreply.github.com>;
抄送: "酷酷的滕"<1364434056@qq.com>;"Comment"<comment@noreply.github.com>;
主题: Re: [Advanced-Frontend/Daily-Interview-Question] 第 127 题:如何用 css 或 js 实现多行文本溢出省略效果,考虑兼容性 (#246)
// 只适用于多行文本一定会溢出的情况 @mixin multiLineEllipsis($lineHeight: 1.2em, $lineCount: 1, $bgColor: white){ overflow: hidden; position: relative; line-height: $lineHeight; max-height: $lineHeight * $lineCount; text-align: justify; margin-right: -1em; padding-right: 1em; &:before { content: '...'; position: absolute; right: 0; bottom: 0; } &:after { content: ''; position: absolute; right: 0; width: 1em; height: 1em; margin-top: 0.2em; background: $bgColor; } }
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
p.line {
overflow: hidden;
-ms-text-overflow: ellipsis;
text-overflow: ellipsis;
display:-webkit-box; //将对象作为弹性伸缩盒子模型显示。
-webkit-box-orient:vertical; //从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)
-webkit-line-clamp: 2; // 显示行数,超出两行隐藏且多余的用省略号表示...
line-clamp: 2;
max-width: 210px; // 有必要定义max-width
} |
<p>这是一段测试文字,this is some test text,测试文字,测试文字测 </p> const p = document.querySelector('p')
let words = p.innerHTML.split(/(?<=[\u4e00-\u9fa5])|(?<=\w*?\b)/g)
while (p.scrollHeight > p.clientHeight) {
words.pop()
p.innerHTML = words.join('') + '...'
} |
https://codepen.io/wrenchde/pen/ExYgbyM 一个用正则的方法
|
单行超出显示省略号 display: block; 多行超出显示省略号 1、普通HTML文本(要内联样式) -webkit-box-orient: vertical;这句要写在内联里面,写在内部css就是没用,不知道为什么。 2、微信小程序 display: -webkit-box; |
|
https://blog.wmxfe.com/2018/03/26/css%E5%92%8Cjs%E5%AE%9E%E7%8E%B0%E5%A4%9A%E8%A1%8C%E6%BA%A2%E5%87%BA%E6%98%BE%E7%A4%BA%E7%9C%81%E7%95%A5%E5%8F%B7/ |
附上一个纯css的解决思路, 使用伪类和css变量 |
有问题哈 文字会遮住...的 |
🤔 没有遮住啊, 没理解你的意思 |
文字超过3行就会被遮住。不足三行,第三行也还会有 ... |
本来多行文本所谓"溢出"就是要指定文本显示范围的(遮住多余文本), 这里设置了"3". 你可以改动css变量 |
这个方案可能会截半个字符 |
兼容方案没超出也显示了省略号 |
单行文本溢出显示省略号先强制一行内显示文本:white-space: nowrap; 多行文本溢出显示省略号有较大兼容性问题,适合于webkit浏览器或移动端(移动端大部分是webkit内核) |
No description provided.
The text was updated successfully, but these errors were encountered: