[CSS] text-overflow:ellipsis

text-overflow: ellipsis; 通常在以下情况下才生效:

  • 元素的宽度必须使用px(pixels),百分比不工作
  • 元素必须设置 overflow:hidden;white-space:nowrap;

问题:

//js
<form>
   <fieldset>
      <span class='username'>
          user first name + middle name + last name + suffix
      </span>
   </fieldset>
</form>

//css
.username {
    white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis; 
}

当username过长时,并不会显示省略符。这是因为fieldset带有min-width: min-content;min-content是自身最小的宽度,这意味着 fieldset的宽度是它子元素的最大宽度,当名字过长,span会自动撑开,text-overflow在这种情况下其实并没有任何意义。

解决方法:

//js
<form>
   <fieldset>
      <span class='username'>
          user first name + middle name + last name + suffix
      </span>
   </fieldset>
</form>

//css
fieldset {
    min-width: 0;
}
.username {
    white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis; 
}

Refrences:
https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow
https://developer.mozilla.org/en-US/docs/Web/CSS/width

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,835评论 0 11
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 4,719评论 0 1
  • 关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, ...
    xxiao1988阅读 5,945评论 0 1
  • 狐狸说我舔呀舔呀 我家老爷就硬了 我问后来呢 狐狸说我家老爷把我掰开 翻云覆雨地掰开 我再问他看到了什么 狐狸说我...
    楊孜阅读 3,150评论 0 2