资讯专栏INFORMATION COLUMN

Bootstrap 栅格系统的精妙之处

hatlonely / 2763人阅读

摘要:当页面宽度变化,的宽度也随之变化。并且其中的的宽度是基于百分比,所以他们的值不需要变化。同时作为都是左浮动的的,自带的性质。注意千万记住要把放到的内部,这样才能保证正常。这正是的栅格系统的最巧妙的地方

节选翻译自The Subtle Magic Behind Why the Bootstrap 3 Grid Works

从接触 Bootstrap 已经有很长时间了,给人的感觉是快速,简单,易上手,其中栅格系统是一个亮点:

  

一直感觉像 CSS 栅格系统之类的东西拿过来用就好了,不用深究背后的原理。直到有一天你发现简单的套用在稍复杂的页面上出现问题,间隔啊,内外边距啊,哪都不对劲儿。

当然会有这样的过程,然后随着知识的积累,可以去读一些 Bootstrap 的源码,结合文档会发现一些不是很理解的地方:

  

Rows must be placed within a .container (fixed-width) or .container-fluid (full-width) for proper alignment and padding.

  

“行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。

CONTAINER

Container 有两个作用:

在随时可能的宽度变化(响应式)中提供宽度限制。当页面宽度变化,container 的宽度也随之变化。并且其中的 column 的宽度是基于百分比,所以他们的值不需要变化。

提供一个水平方向的 padding,使其内部的内容不会接触到浏览器的边界,大小为15px,就是图片中粉红色的部分,作用会在下面说。

注意,不需要也不应该在 container 中嵌套另一个 container。

ROW

Row 是 column 直接存在的容器,按照文档描述 row 中最多可有12个 column,不过可以通过 nesting 的方式灵活扩展。同时作为都是左浮动的 column 的 wrapper,自带 clearfix 的性质。

同时 row 还有一个很特殊的地方,就是左右各有 -15px 的 margin,就是图片中的蓝色部分。这样也就抵消了上面提到的 container 中15px的 padding,那么为什么要这么折腾呢?接着看往下读。

注意:千万记住要把 row 放到 container 的内部,这样才能保证正常。

COLUMN

注意啦,每个column 也会有15px的水平方向的 padding,也就是图片中黄色的部分,唉,先别急,会明白的。还记得上面提到的 row 的作用吗,colunmn 只能在 row 中生存,由于 row 的 margin 为-15px,那么位于两边的 column 就碰到了 container 的边界。但是 colunmn 本身又有 15px 的 padding 使得它其中的内容并不会碰到 container,同时 不同column的内容之间就有了30px的槽。结合图片看一下就一目了然了。

注意:一定要把 column 放到 row 里使用。

NESTING

当把上面一系列的 container, row, column 都设置好,就可以通过 nesting 扩展它的栅格系统了,也就是在 column 中直接嵌套 row,而不需要再套一层 container:

还记得 container 和 column 都有15px的 padding 吗,当 nesting 的时候 column 的作用也相当于 container 了,这样就可以实现任意的嵌套了。

这正是 Bootstrap 的栅格系统的最巧妙的地方!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110957.html

相关文章

  • 有关css栅格系统故事

    摘要:下面,本文将介绍几个比较有代表性的栅格样式库,讲述它们的简要原理和用法正确的打开方式。虽然栅格样式库很棒,但它们并不是响应式设计的全部。但在这个过程中,理解各类栅格样式库的工作原理,正确使用它们,才能做出稳定可靠的页面结构。 说到栅格系统(grid system),你也许见过这样的概念: showImg(https://segmentfault.com/img/bVmQnO); 像这样...

    legendaryedu 评论0 收藏0
  • 如何编写轻量级 CSS 框架

    摘要:如今轻量级框架如雨后春笋,层出不穷。那么这些轻量级框架有没有意义呢当然有。这个轻量级框架在上有很高人气,但是说实话,用处并不大。编写轻量级框架终于到了本篇文章的重头戏。大多数的轻量级框架只是框架,不涉及部分,主要用于网页的布局。 showImg(http://images2017.cnblogs.com/blog/999445/201711/999445-201711131956147...

    Dr_Noooo 评论0 收藏0
  • Bootstrap网格系统

    摘要:栅格系统中的列是通过指定到的值来表示其跨越的范围。实例下图是一个栅格系统,共有四行。然后在根目录中,使用命令,可以自动将源代码编译成,放在目录中。 什么是Bootstrap Bootstrap是一个用于快速开发Web应用程序和网站的前端框架,它包括HTML,CSS,JS等。它是由Twitter开发,现在成为Github上最为流行的前端开发框架。它提供了一套响应式,移动设备优先的流式栅格...

    ISherry 评论0 收藏0
  • Bootstrap网格系统

    摘要:栅格系统中的列是通过指定到的值来表示其跨越的范围。实例下图是一个栅格系统,共有四行。然后在根目录中,使用命令,可以自动将源代码编译成,放在目录中。 什么是Bootstrap Bootstrap是一个用于快速开发Web应用程序和网站的前端框架,它包括HTML,CSS,JS等。它是由Twitter开发,现在成为Github上最为流行的前端开发框架。它提供了一套响应式,移动设备优先的流式栅格...

    susheng 评论0 收藏0
  • Bootstrap4响应式布局之栅格系统

    摘要:前面说了的下载和简单使用,现在我们接着往下学习,的响应式布局主要依靠栅格系统来实现的。好了,栅格系统暂时先介绍到这了,有什么不懂的可以给老留言哦。前面说了Bootstrap4的下载和简单使用,现在我们接着往下学习,Bootstrap4的响应式布局主要依靠栅格系统来实现的。面老K先来讲解一下Bootstrap4的栅格系统,让你能够更快的了解Bootstrap4.(PS:更详细的介绍请访问原K先...

    Donald 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<