如何让超出块级元素的内容使用省略号代替?

img_6e741debdd3d0ac6eb3a8fc355ddf521.png

img_ca31b207484941da2bfa08cedbf33c4b.png

先看上面两幅图片,如果实现上面现象该如何

.main{
    width: 100px;
    border: 1px solid red;
    overflow: hidden;
    text-overflow: ellipsis;
}
<div class="main">
    1111111111111111111111111111111111111111
</div>

必须overflow:hidden;和text-overflow:ellipsis组合才可以实现上述效果

  • overflow:clip|ellipsis|string
解释
clip修剪文本
ellipsis显示省略符号来代表被修剪的文本
string使用给定的字符串来代表被修剪的文本

难道这就完成了吗?那当然不是。如果我们内容有很多的话,但是我们只想在一行显示出来,并且多余的用省略号代替,可问题就是如果内容出现空格或连字符的话会自动换行那怎么办?先看看问题现象

  • 使用同样的样式
.main{
    width: 100px;
    border: 1px solid red;
    overflow: hidden;
    text-overflow: ellipsis;
}
  • 现在特别注意内容中间有空格
<div class="main">
    111111111111111111 1111111111111111111111
</div>
img_03144eb2882d8c91263a9bb20d536a4f.png

现在解决如果在一行显示,现在问题的出现就是她会自动换行,所以我们可以阻止默认换行,认识一个属性

  • white-space
解释
ormal默认。空白会被浏览器忽略。
pre空白会被浏览器保留。其行为方式类似 HTML 中的<pre> 标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到
标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承 white-space 属性的值。

我们使用white-space: nowrap,下来让我们再试试


```css
.main{
    width: 100px;
    border: 1px solid red;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
  • html还是使用插入空格的那段,现在结果如下图
img_ac6cb086608ed1c4a87cf56022afd8c1.png
2016-06-17_024044.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值