CSS Grid 是一种 全新 的创建 布局方式 ,这是有史以来第一次合适的布局系统,并且他是浏览器原生的,他给我们带来了很多好处。
当你和当今最流行的 Bootstrap 框架相比,grid的好处变的尤为清晰,您不仅可以创建在以前在不引入JavaScript的情况下无法实现的布局,而且您的代码将更易于维护和理解。
【相关推荐:《 css视频教程 》《 bootstrap教程 》】
本文中我会解释一下为什么。
标签会更加简洁
相比 Bootstrap ,使用grid会使你的HT ML 更加干净,虽然这不是最 重要 的好处,但它可能会是你第一个注意到的。
为了举例说明,我创建了一个布局,以便我们可以比较两个版本所需要的代码。
注意:我在给出的例子中稍微设计了一下,但是他和我们比较 Bootstrap 没有任何关系,所以我只保留布局部分的CSS
Bootstrap
先看一下 Bootstrap 需要创建的标签。
这里有两件事需要注意一下:
每个row都需要一个 <div> 标签 使用了class n am e来指定布局( col-xs-2 )随着这种布局的复杂性增长,HTML也是如此。
如果这是个响应式网站,它会看起来更复杂:
现在我们来看一下用Grid布局:
我可以在这里使用语义化元素,但我还是使用div来和 Bootstrap 对比。
显然,grid用来布局看起来更 简单 ,丑陋的类名和每行所需的额外的div标签一去不复返了,简简单单一个cont ai ner和里面的 IT em。
与 Bootstrap 不同的是,随着布局复杂度的增加,Grid布局标签的复杂度将不会增加太多。
Bootstrap 示例不需要添加任何CSS,引用一下就可以了。 CSS Grid 肯定需要添加。具体来说,是这样的:
这可能是一些人赞成 Bootstrap 的一个论点:你 不用 关心CSS,只需要在HTML中定义布局。但是,正如你将会明白的那样,当涉及到灵活性的时候,标签和布局之间的耦合会变成一个很大的问题。
更灵活
假设您想要根据屏幕大小更改布局。 例如,将菜单拉到最上面一行,在移动设备上查看。
换句话说,布局从这样:
换成这样:
CSS Grid
用 CSS Grid 的话会非常简单,我们只需要添加一个 media query ,布局就像变魔 术 一样变成了你想要的。
你可以这样重新排列布局,不用担心HTML标签编写的顺序,这对开发人员和设计师都是很大的一个好处!
BootStrap
如果想在 Bootstrap 中做同样的事情,就必须得修改HTML了,需要 调整 标签的顺序。
这个需求仅仅使 用M edia query是远远不够的,你还得使用JavaScript。
这个例子是我体会到的grid最大的好处
不再限死12列
这个不是一个很大的问题,但是这个问题也困扰过我多次,因为 Bootstrap 的grid系统分为了12列,如果你想要一个5列的布局就会纠结,或是7列、9列、任何不会合为12列的。
CSS Grid 就没有任何限制,你可以让grid正好有你想要的数量。这是一个7列的grid:
通过设置 grid -t emplate-columns : re PE at(7, 1fr) 实现,就像这样:
浏览器支持
当然也必须讨论一下浏览器支持,在撰写本文的时候,全球75%的 网站流量 支持 CSS Grid
CSS Grid是一个布局模块,它允许我们 改变 文档的布局,而不会干扰标签顺序。换句话说,CSS网格是一个纯粹的可视化工具,使用得当,对 文档内容 的表达 应该 没有影响。所以:在旧的浏览器中缺乏对CSS Grid的支持 不影响 访问者的体验,只是让体验不同。
原文地址:https://hackernoon .COM /how-css-grid-beats-bootstrap-85d5881c F1 63
更多编程相关知识,请访问:编程视频!!
以上就是 浅谈 css grid比Bootstrap更适合创建布局的原因的详细内容,更多请关注其它相关文章!
总结
以上是 为你收集整理的 浅谈css grid比Bootstrap更适合创建布局的原因 全部内容,希望文章能够帮你解决 浅谈css grid比Bootstrap更适合创建布局的原因 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于浅谈css grid比Bootstrap更适合创建布局的原因的详细内容...