赞
踩
对于一个偶尔需要写写前端界面的我来说,今天了解到了HTML前端可以用网格布局之后,整个人都轻松起来了。在基于C#做手持设备开发和安卓应用程序里,都常用网格来进行布局。而在网页前端,我几乎都是用用Bootstrap这种框架来设定布局,对于基础的CSS控制样式还能搞定,但是涉及到布局,就一头雾水。
比如最近用到float:left
这种布局,碰到元素之间崩塌的情况,就是元素位置根本不按照设想的来,看了一些书和文章,提到了这个问题。大家将CSS归结为艺术,不是科学。哈哈哈。
对于网格布局我还不是特别熟悉,下面先放一个测试案例:
<!DOCTYPE html> <html> <head> <title>CSS Grids</title> <style type="text/css"> h1 { text-align: center; } /*核心*/ .wrapper { display: grid; grid-template-columns: 30% 30% 30%; } .wrapper > div { background: #eee; padding: 1em; } .wrapper >div:nth-child(odd) { background: #ddd; } </style> </head> <body> <header> <h1>Hello World</h1> </header> <div class="wrapper"> <div> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> <div> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> <div> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> </div> </body> </html>
非常简单的,将容器设置为:
/*核心*/
.wrapper {
display: grid;
grid-template-columns: 30% 30% 30%;
}
然后里面的元素就按照百分比来排列了~~非常方便。
注意,这里面grid-template-columns
推荐使用的是fr
作为单位,当然用什么单位都是随意的,比如px
等。
.wrapper
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。