css3中flex布局宽度不生效的解决
建站知识 2021-07-02 23:04www.168986.cn长沙网站建设
两列布局项目中经常会用到,很多种方法可以做这样的效果
最方便的还是要属flex了,给外层父元素设置display:flex;然后子元素,宽度自适应的那个设置
flex-grow:1;,一个设置固定宽度就可以做到,一个固定另一个自适应了。
具体代码如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>flex 宽度不生效</title> </head> <body> <style> / 重置样式 / { margin: 0px; padding: 0px; } / 设置外层display为flex / .box { display: flex; height: 100px; width: 100%; } / 左边自适应 / .box .left { flex-grow: 1; background: red; } / 右边固定 / .box .right { width: 200px; background: yellow; } </style> <!-- 外层盒子 --> <div class="box"> <!-- 左侧 --> <div class="left"></div> <!-- 右侧 --> <div class="right"></div> </div> </body> </html>
这段代码的运行结果就是上面截图那样,这个代码有一个小小的bug,那就是当我们左边(自适应那边)内部如果有内容,并且内容的宽度超过了left的宽度的时候,就会把右边(固定宽度)挤小,你会发现你给的固定宽度(例子中的200px)不生效了,或者出现滚动条。
我们在左边加一点内容,并且让他超出宽度。
/ 超出的内容 样式 / .box .left .content { width: 1000px; }
<!-- 左侧 --> <div class="left"> <!-- 超出的内容 --> <div class="content"></div> </div>
运行结果
内容超出,并出现了滚动条。这个问题很好解决,只需要在left上面加上溢出隐藏的属性,就可以了。
/ 左边自适应 / .box .left { flex-grow: 1; background: red; overflow: hidden; }
问题又来了,右边出来了,可是它的宽度变小了,不足200了。
这个问题呢,其实也很容易,给右边的div(right)加上min-width:200px;就完美了。
/ 右边固定 / .box .right { width: 200px; min-width: 200px; background: yellow; }
这样不管你,什么屏幕,或者怎么拖放都能完美兼容了。。。
到此这篇关于css3中flex布局宽度不生效的解决的文章就介绍到这了,更多相关flex布局宽度不生效内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章,希望大家以后多多支持狼蚁SEO!
上一篇:总结下常用的nth-child选择符
下一篇:html+css3实现的登录界面
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键