由于弹性布局方案,各大浏览器厂商跟进的进度不一致,导致了某些情况下,弹性布局方案的css会出现不兼容的情形。尤其是在安卓平台上的部分浏览器(如UC浏览器,微信浏览器)出现弹性布局效果失效的情形。本文针对弹性布局方案的兼容性做一个简短的处理。
关于弹性布局方案,本博客有文章介绍:初识Flex布局。
在应用弹性布局方案的父元素上,要做兼容性调整,需要在使用display: flex
加上display:-webkit-flex
,部分浏览器可能需要添加display:-webkit-box
才会奏效。
弹性项目(子元素)使用flex:1
这样的效果时,加上-webkit-flex:1
,为了兼容某些浏览器,需要添加-webkit-box-flex:1
。
其他属性的兼容性对应列表:
align-items
,对应-webkit-box-align
flex-direction
,对应-webkit-box-orient-
/box-orient
justify-content
,对应-webkit-box-pack
order
,对应-webkit-box-ordinal-group
参考资料