Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
设为Flex布局以后,子元素的float
、clear
和vertical-align
属性将失效。它即可以应用于容器中,也可以应用于行内元素。(以上说明结合微信开发者工具说明)2009年,W3C提出了一种新的方案----Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> .father { 600px; height: 300px; background-color: #b6ff00; display: flex; /*flex-flow:column;*/ flex-flow: row; } .father .son1 { flex: 1; border: 1px solid #000000; } .father .son2 { 500px; border: 1px solid #000000; } .father .son3 { flex: 1; border: 1px solid #000000; } </style> </head> <body> <div class="father"> <div class="son1">第一</div> <div class="son2">第二</div> <div class="son3">第三</div> </div> </body> </html>
父标签设置了dispaly:flex后默认伸缩方向是从坐至右的。当子标签设置flex:1会让所以子元素在伸缩方向上均匀分布。