标签:
继续更新,上篇博客介绍了各种属性,下面来看个例子:
实现这样的效果,布局的经典实例。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>RunJS</title> <style> .wrapper { display: flex; flex-flow: row wrap; font-weight: bold; text-align: center; } .wrapper > * { padding: 10px; flex: 1 100%; } .header { background-color: #ff6347; } .main { background-color: #ffd700; } .aside-1 { background-color: #00bfff; } .aside-2 { background-color: #ff69b4; } .footer { background-color: #90ee90; } @media all and (min-width: 600px) { .aside { flex: 1 auto; } } @media all and (min-width: 800px) { .main { flex: 2 0; } .aside-1 { order: 1; } .main { order: 2; } .aside-2 { order: 3; } .footer { order: 4; } } </style> </head> <body> <div class="wrapper"> <header class="header">Header</header> <article class="main"> <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> </article> <aside class="aside aside-1">Aside 1</aside> <aside class="aside aside-2">Aside 2</aside> <footer class="footer">Footer</footer> </div> </body> </html>
这里的布局是移动优先的,首先布局的是移动设备显示的,然后分别定义大于600px和大于800px时的显示。
到这里看源码: http://runjs.cn/code/tt7kilpk
到这里看更多的示例: A Complete Guide to Flexbox
flex-box已经更新三个规范,浏览器支持情况如下:
问题来了,如何支持各种浏览器呢?最好的方法就是使用Autoprefixer。
另外flex-box有一些bug,看这里: https://github.com/philipwalton/flexbugs
最后盗一张图:
参考:
A Complete Guide to Flexbox 大部分内容翻译于此
Flexbox,更优雅的布局 这篇文章介绍内部的原理
标签:
原文地址:http://www.cnblogs.com/zjzhome/p/4235234.html