flex 布局下,css 设置文本不换行时,省略号不显示的解决办法

问题:

main 容器是 flex 布局,左边一个 logo 固定宽高,右边 content 动态宽度。

.notice 非常长,一些设备下需要隐藏显示,即不换行,并留下省略符 ... 作标记。

发现 text-overflow: ellipsis 不生效,省略符根本没有出现。

// CSS
.main {display: flex;
}
.logo {width: 100px;height: 100px;margin: 10px;
}
.content {flex: 1;
}
.content > * {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;
}
// HTML
<div class="main"><img alt="" class="logo" src="pic.jpg"><div class="content"><h4 class="name">a name</h4><p class="info">a info</p><p class="notice">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p></div>
</div>

尝试取消父元素 .content 的 flex: 1 ,无效。

尝试取消 .main 容器的 display: flex ,省略号出现。

因此猜测是 flex 布局的问题,进一步猜测省略符需要对父元素限定宽度。

尝试对父元素 .content 设置 width: 100% 无效,设置 width: 0 可行。即:

.content { flex: 1; width: 0; }

如果不设置宽度, .content 可以被子节点无限撑开;因此 .notice 总有足够的宽度在一行内显示所有文本,也就不能触发截断省略的效果。

测试还有一种方法可以达到效果:给 .content 设置 overflow: hidden 。

以下方法无效:

  1. 给 html, body 设置 max-width ,元素似乎能强行撑开页宽;
  2. 给 body 设置 overflow ,页宽不能被撑开了,但元素宽度还在,即元素本身还是溢出;
  3. 给 html, body 同时设置 max-width 和 overflow ,页宽限定在 max-width 内,元素本身还是溢出;
  4. 给 .main 容器设置 overflow: hidden ,同理 .main 是不溢出了, .notice 本身还是溢出;
  5. 给 .notice 元素设置 width或max-width ,虽然宽度受限,但在特定宽度下省略符 ... 显示不全,有时只显示两个点 ..

以上仅在 chrome 58.0.3029.81 下测试,系统为 Ubuntu 16.04.2 LTS 。

flex 布局,省略号失效相关推荐

  1. Flex布局 text-align 失效的问题

    前提是一个DIV,flex属性,然后里面是text节点 经测试,text-align 不是失效了,只是在文本有一行的时候失效了,所以要在flex的div实现text-align,要多写一点,就当是兼容 ...

  2. 使用flex 布局 的盒子 使用 swiper轮播插件,flex布局会失效的解决方法

    如上图代码所示:本来reward-list是一个弹性布局容器,子元素reward是弹性布局的.但嵌入swiper之后,reward的直接子元素就不再是reward. . 我们看下实际上的html结构: ...

  3. css不换行省略号 没作用,flex布局下,css设置文本不换行时,省略号不显示的解决办法...

    大致是有一个 main 容器是 flex 布局,左边一个 logo 固定宽高,右边 content 动态宽度. a name a info Lorem ipsum dolor sit amet, co ...

  4. 2、多效果、太极图、党徽和五角星、时钟、animation、文本溢出显示省略号、Flex布局、Flex容器、链接状态、选择器、清除浮动、table表格合并、点击事件、半包围效

    2.多效果.太极图.党徽和五角星.时钟.animation.文本溢出显示省略号.Flex布局.Flex容器.链接状态.选择器.清除浮动.table表格合并.点击事件.半包围效.getBoundingC ...

  5. display:flex布局下white-space:nowrap失效问题解决

    文字长度过长显示省略号的样式设置方法众所周知: h3 {white-space: nowrap;overflow: hidden;text-overflow: ellipsis; } 然而有一次,我在 ...

  6. 弹性盒子模型中`display:flex`布局下`white-space:nowrap`失效问题

    文字长度过长显示省略号的样式设置方法众所周知: <!-- 单行显示省略号 --> .css {white-space: nowrap;overflow: hidden;text-overf ...

  7. 记:flex布局遇到white-space:nowrap失效的问题

    在写界面时遇到一个问题:在flex布局中想实现文字超出隐藏并显示省略号,结果使用white-space:nowrap后,flex布局失效了.... 想实现的效果: 结果: 解决办法: 给包含文字元素的 ...

  8. css3 flex 省略号,142.关于flex布局与省略号不显示的问题

    关于flex布局下,css省略号不显示的问题主要有两种场景 场景一.直接在flex布局的元素里 html 我们日常工作中,接触到的主要 API,几乎都是由今天所讲解的这些对象提供的.理解这些对象的性质 ...

  9. flex布局下文字超出省略号代替不起作用解决方法

    项目中发现,在flex布局下,希望目标元素文字超出省略号时,text-overflow: ellipsis属性无效,结论是设置文字超出省略号的元素,然后网上找了一圈设置父元素width: 0.over ...

最新文章

  1. Xamarin Essentials教程地理定位Geolocation
  2. 前端代码(移动端app, vue 源代码)打包方法
  3. 解决ntp的错误 no server suitable for synchronization found
  4. 1250 Fibonacci数列(矩阵乘法快速幂)
  5. 这位挪威博士是如何成为阿里云PolarDB资深架构师的?
  6. 好的,每个接触Java字节码的人
  7. Cracking the Coding Interview(Stacks and Queues)
  8. Mac Nginx 中 JDK安装位置,安装信息,打开jDK安装目录
  9. Android自定义视频播放器
  10. Windows 中批量重新注册所有的DLL文件的方法
  11. HCIE证书有用吗?
  12. 【牛客网刷题】(第二弹)中等难度题型来了.这些题你都会做吗?
  13. 理查德外推法计算偏导数近似值-python实现
  14. 全网最全——数字信号和模拟信号的区别
  15. MQ如何快速实现流量削峰填谷
  16. android T分屏流程
  17. WeChat 聊天记录从一台手机转移到另外一台手机的注意事项
  18. 云服务器怎么增加d盘_云服务器怎么加d盘
  19. 云桌面系统功能参数(备忘)
  20. 教师网络计算机研修日志,网络研修日志范文(通用7篇)

热门文章

  1. Jump Server
  2. C语言记录按键次数,【视频】C语言实现键盘记录【c语言吧】_百度贴吧
  3. 学生党matlab哪个版本最好用,学生党福音!仅4个GPU打造自己的BigGAN,PyTorch代码已开源...
  4. Cannot find entry in either framework or device manifest
  5. 苹果12开发者设置_iPhone12手机5G在哪开启关闭 苹果12手机5G网络设置方法
  6. 信息系统分析与设计 机票预定管理系统
  7. HTML5—网页三兄弟
  8. 2018苹果开发者技术支持新规
  9. 89年女孩,工作在上海征婚
  10. 感性和理性,个人的看法