• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 浅谈css grid比Bootstrap更适合创建布局的原因

浅谈css grid比Bootstrap更适合创建布局的原因

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了css grid,Bootstrap,布局等相关知识,希望对您有所帮助

为什么CSS Grid比Bootstrap更适合布局?本篇文章给大家介绍一下原因。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。


1.png


CSS Grid是一种全新的创建布局方式,这是有史以来第一次合适的布局系统,并且他是浏览器原生的,他给我们带来了很多好处。

当你和当今最流行的Bootstrap框架相比,grid的好处变的尤为清晰,您不仅可以创建在以前在不引入JavaScript的情况下无法实现的布局,而且您的代码将更易于维护和理解。

本文中我会解释一下为什么。


标签会更加简洁

相比Bootstrap,使用grid会使你的HTML更加干净,虽然这不是最重要的好处,但它可能会是你第一个注意到的。

为了举例说明,我创建了一个布局,以便我们可以比较两个版本所需要的代码。


2.png

注意:我在给出的例子中稍微设计了一下,但是他和我们比较Bootstrap没有任何关系,所以我只保留布局部分的CSS


Bootstrap

先看一下Bootstrap需要创建的标签。


609cc3a5d3691.png


这里有两件事需要注意一下:

每个row都需要一个<div>标签

使用了class name来指定布局(col-xs-2)

随着这种布局的复杂性增长,HTML也是如此。


如果这是个响应式网站,它会看起来更复杂:


4.png


现在我们来看一下用Grid布局:


609cc3e04d196.png


我可以在这里使用语义化元素,但我还是使用div来和Bootstrap对比。

显然,grid用来布局看起来更简单,丑陋的类名和每行所需的额外的div标签一去不复返了,简简单单一个container和里面的item。

与Bootstrap不同的是,随着布局复杂度的增加,Grid布局标签的复杂度将不会增加太多。

Bootstrap示例不需要添加任何CSS,引用一下就可以了。CSS Grid肯定需要添加。具体来说,是这样的:


609cc40836f02.png


这可能是一些人赞成Bootstrap的一个论点:你不用关心CSS,只需要在HTML中定义布局。但是,正如你将会明白的那样,当涉及到灵活性的时候,标签和布局之间的耦合会变成一个很大的问题。


更灵活

假设您想要根据屏幕大小更改布局。 例如,将菜单拉到最上面一行,在移动设备上查看。

换句话说,布局从这样:


7.png

换成这样:

8.png

CSS Grid

用CSS Grid的话会非常简单,我们只需要添加一个media query,布局就像变魔术一样变成了你想要的。


609cc45378b7f.png


你可以这样重新排列布局,不用担心HTML标签编写的顺序,这对开发人员和设计师都是很大的一个好处!


BootStrap

如果想在Bootstrap中做同样的事情,就必须得修改HTML了,需要调整标签的顺序。


609cc46fdc17a.png


这个需求仅仅使用media query是远远不够的,你还得使用JavaScript。

这个例子是我体会到的grid最大的好处


不再限死12列

这个不是一个很大的问题,但是这个问题也困扰过我多次,因为Bootstrap的grid系统分为了12列,如果你想要一个5列的布局就会纠结,或是7列、9列、任何不会合为12列的。

CSS Grid就没有任何限制,你可以让grid正好有你想要的数量。这是一个7列的grid:


11.png


通过设置grid-template-columns : repeat(7, 1fr)实现,就像这样:


609cc4a872c41.png


浏览器支持

当然也必须讨论一下浏览器支持,在撰写本文的时候,全球75%的网站流量支持CSS Grid


609cc4d0c980f.jpg


CSS Grid是一个布局模块,它允许我们改变文档的布局,而不会干扰标签顺序。换句话说,CSS网格是一个纯粹的可视化工具,使用得当,对文档内容的表达应该没有影响。所以:在旧的浏览器中缺乏对CSS Grid的支持不影响访问者的体验,只是让体验不同。

原文地址:https://hackernoon.com/how-css-grid-beats-bootstrap-85d5881cf163



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈css grid比Bootstrap更适合创建布局的原因

相关文章

  • 2022-04-29JavaScript实现UTF-8编解码
  • 2022-04-29PHP中如何读取CSV内容并存入一个数组中
  • 2022-04-29如何让WordPress支持google AMP
  • 2022-04-29PHP中preg_match函数使用详解(附代码实例)
  • 2022-04-29PHP怎么设置上传图片大小
  • 2022-04-29网站快照停滞不前的N种影响因素
  • 2022-04-29微信小程序如何获取图片宽度与高度
  • 2022-04-29Illustrator制作OSX风格磁铁图标
  • 2022-04-29聊聊小程序怎么实现“全文收起”功能
  • 2022-04-29Illustrator绘制炫丽时尚的花朵教程

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 解决并分析Incorrect datetime value报错问题
    • 通过实例来了解Laravel中管道的使用方法
    • 聊聊Bootstrap中的导航条
    • dedecms大量删除文章后,列表页显示错误修复办法
    • PhotoShop CS6制作逼真动物皮毛立体文字特效教程
    • 如何利用HTML5 canvas旋转图片?(实例演示)
    • TP框架中的钩子怎么配置调用(附代码实例)
    • php.ini没有extension怎么办
    • 帝国CMS二次开发付款后才能查看内容
    • 利用图层样式及素材制作漂亮的火焰字

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有