当前位置: 首页 > news >正文

服饰技术支持 东莞网站建设余姚做网站

服饰技术支持 东莞网站建设,余姚做网站,改wordpress登陆图标,网站建设番禺flex: 1 & display:flex 导致的宽度失效问题 问题复现 有这样的一个业务场景,详情项每行三项分别占33%宽度,每项有label字数不固定所以宽度不固定,还有content 占满标签剩余宽度,文字过多显示省略号, 鼠标划入展示…

flex: 1 & display:flex 导致的宽度失效问题

问题复现

有这样的一个业务场景,详情项每行三项分别占33%宽度,每项有label字数不固定所以宽度不固定,还有content 占满标签剩余宽度,文字过多显示省略号, 鼠标划入展示全部(title)

现有元素content, 其父元素parent设置了flex, 以下为content的css配置。

flex: 1;
/* display: flex; */
background: #eee;overflow-x: hidden;
white-space: nowrap;
text-overflow: ellipsis;

如果 content 不开启flex, 一切完美,

在这里插入图片描述

这其实是因为 min-width 变成了auto, 这时只需要 改成0即可,但是 content 内容是文字还是会宽度失效
在这里插入图片描述

解决

要实现超出隐藏,可以在 content 再增加元素包含文字, 元素宽度设置100%即可(未设置min-width: 0的情况下,content子元素宽度设置也是无效的),样例如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flex-wdith</title><style>.parent {display: flex;width: 400px;height: 200px;border: 1px solid;}.content {background: #eee;height: 100%;flex: 1;display: flex;flex-wrap: wrap;min-width: 0; /* flex: 1 0 50%; */}.inner {width: 100%;display: flex;}.inner .inner1 {height: 50px;flex: 1;white-space: nowrap;text-overflow: ellipsis;overflow-x: hidden;background-color: #d0b3f4;}.inner2 {width: 100%;height: 50px;white-space: nowrap;text-overflow: ellipsis;overflow-x: hidden;background-color: #ed8e8e;}.inner3 {width: 30%;height: 50px;white-space: nowrap;text-overflow: ellipsis;overflow-x: hidden;background-color: #dff4cb;}</style>
</head>
<body><!-- content设置了flex: 1时再设置 display: flex 会导致content宽度失效, 因为min-width被设置为auto了,需要设置width: 0,这样宽度不会失效再在content增加子元素: width: 100%, 在做布局即可--><div class="parent"><div class="label">【我是个标签】</div><div class="content"><div class="inner"><div class="inner1">标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容</div></div> <div class="inner2">标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容</div><div class="inner3">标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容标签内容</div></div></div>
</body>
</html>

在这里插入图片描述

如此,便能在flex: 1的元素再开启弹性布局,随心所欲了

原因

问了下AI: flex: 1的元素,为啥设置了display: flex 后, min-width会变成auto?,大致也说明白了

  • 默认行为:当一个元素被设置为 display: flex 时,它变成了一个弹性容器,而其子元素成为了 flex 项目(flex items)。根据 CSS 规范,flex 项目默认的 min-widthauto,这意味着该元素的最小宽度取决于它的内容。如果内容宽度超过了 flex-basis 设定的初始宽度,min-width: auto 会阻止元素缩小到比其内容更窄。

  • min-width: auto 的含义min-width: auto 的意思是,元素的最小宽度会根据其内容自动调整。当父容器的空间变小时,min-width: auto 允许内容的宽度决定元素最小能缩小到多少。对于文字或图片等内容,min-width: auto 会确保元素不会缩小到将内容截断的地步。

  • flex: 1 的关系:在设置 flex: 1 的情况下,元素会尝试尽可能填充父容器的可用空间,但 min-width: auto 可能会阻止该元素缩小到比其内容更小的宽度。如果你希望元素可以自由缩小到任意宽度(即使小于内容宽度),需要显式地将 min-width 设置为 0

http://www.yayakq.cn/news/841839/

相关文章:

  • 深圳建网站兴田德润专业齐三seo
  • jcms网站建设濮阳信息网发布信息
  • 网站建设规划方书模板台州企业网站
  • 网站建设用素材从优化角度来建设网站
  • 公司网站建设维护合同范本公司网站建设好
  • 网站建设买了服务器后怎么做小网站广告投放
  • 推广网络营销外包公司seo软文代写
  • 青岛专业网站建设推广报价seo薪资
  • 外贸网站建设电话广州优化网站
  • 三维家是在网站上做还是在app上工作顺利的祝福语
  • 怎么生成网站源代码做puzzle的网站
  • 江苏网站建设多少钱网站开发后端开发
  • 网站开发进入腾信职位wordpress获取登录密码错误
  • 贸易网站怎么做wordpress 附件 标签
  • vps做网站的环境徐州网站优化推广
  • 专业建设家电维修网站公司外贸手机网站模板
  • 网站开发的英文美团做团购网站
  • 卖机器的网站怎么做常用的电子商务网站
  • 如何注销网站0元建站平台
  • 有了网站 怎么做排名优化甘肃系统建站怎么用
  • 做网站还需要续费php做网站中下一步按钮
  • 建立网站信息内容建设管理规范做图字体网站
  • 静安广州网站建设网站建化
  • 物流好的网站模板网站浏览器
  • 上海外贸网站设计网站首页适合vue做吗
  • 建设物业公司网站创建网站视频
  • 服装销售网站建设策划书网站浏览器图标怎么做
  • 网站里面的导航图标怎么做的怎么做网站的外部连接
  • android网站开发实例域名连接到网站吗
  • 财税公司网站开发镇江建设集团网站