flex布局踩过的坑:flex速记设置flex-grow和直接设置flex-grow的浏览器表现差异
2018-05-21 08:46
95 查看
今天看网上讲的二列布局,左侧宽度不固定,右侧宽度自适应的实现,其中有一例,code如下:
HTML代码:
<body> <div id="parent"> <div id="left">左列不定宽</div> <div id="right">右列自适应</div> </div> </body>CSS代码:
#parent{ display: flex; } #left { /*不设宽度*/ margin-right: 10px; height: 500px; background-color: #f00; } #right { height: 500px; background-color: #0f0;
flex: 1;
/*均分#parent剩余的部分*/}作者:sweet_KK链接:https://juejin.im/post/5aa252ac518825558001d5de
来源:掘金
谢谢sweet_KK大大的好文,侵删,谢谢。
这个代码在Chrome 66下的表现为:
但是当我把代码的
flex: 1 // 改动成 ==> flex-grow:1结果变成了
像这样,不再是右侧自适应了,当没有了空闲距离,二者因为内部字数相同,居然开始平分剩下的空间了???
what?难道flew:1不是和flew-grow:1一个意思么?
于是我又试了试...
先是flex:0.5:
然后是flex-grow:0.5:
另,在firefox中也是如此。
可以很明显的观察出,当时flex的时候,设置这个属性的flex项目不算,剩余空间的一半一直等于他的宽度,直到无法溢出了为止。但是flex-grow的时候呢?却是把本身就应该占据的空间除了外,剩下的空间再占一半。当没有剩余空间了,他就回归了本来的宽度,并且与左侧平分天下。
顺路一提,在flex下设置overflow:hidden之后会压缩到0,但flex-grow下仍然没用。
我认为就是浏览器对这两个属性的表现有所不同,如有高人踩过同一个坑,请不吝赐教!
阅读更多相关文章推荐
- flex弹性盒子布局中,关于flex-grow布局问题设置
- 设置ngnix下的文件在浏览器端直接下载而不是被浏览器默认打开
- flex入门 创建适应浏览器的布局
- flex弹性布局(所有孩子设置宽度计算后超过父亲时)
- Java 下载文件,浏览器直接打开,并且PDF再次点击下载时,文件名称设置正确
- DIV+CSS布局中IE与FF浏览器之间重要的兼容性差异
- 麻麻再也不用担心block布局啦。仅限高级浏览器,ie直接被忽视
- flex 通过js获取ip地址和计算机名称表现在ie中,为什么要对ie的安全级别设置?
- 当元素使用flex布局,子级无法设置高度怎么办?
- 小程序–flex布局常用css 设置
- Flex中不使用FelxPrintJob通过ExternalInterface直接调用JavaScript利用浏览器本身的功能进行打印
- div+css网页布局在各个浏览器之间的差异
- android 中直接在布局文件中使用html 设置不同的颜色
- Flex 开发必备利器,Flex入门,Flex设置外部浏览器
- flex.css,移动端flex布局神器,兼容微信,UC,webview等移动端主流浏览器08.10
- less在浏览器直接使用以及rem布局
- 网站怎么布局能解决不同浏览器对CSS解析的差异,使用css reset
- 微信小程序——flex布局里的text汉字格式设置
- flex布局浏览器兼容问题
- javascript各浏览器中option元素的表现差异