谈谈css中的栅格布局(图文)

谈谈css中的栅格布局(图文)

(学习视频分享:css视频教程)

栅格布局能将网页分成简单属性的行和列,CSS页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。

圣杯布局

圣杯布局是一种三列布局,两边定宽,中间自适应:

立即学习“前端免费学习笔记(深入)”;

css:

* {        box-sizing: border-box;    }    html, body{        width: 100%;        height: 100%;        margin: 0;    }    .container{        width:100%;    }    .container:after{        display: table;        content:".";        clear:both;    }        .container .cl{        float:left;        border: 1px solid red;        height: 200px;    }        .main{        width:100%;        padding 0 290px 0 320px;        background-color: blue;    }    .sub{        width: 320px;        margin-left:-100%;        background-color: white;    }    .extra{        width: 290px;        margin-left:-290px;        background-color: yellow;    }CSS

HTML:

0.png

圣杯布局的原理就是当子元素处于浮动状态时,设置负margin,子元素会叠盖到兄弟元素之上。  

那么能否用现在想要将其中蓝色区域再次划分成三个区域,相信有很多种办法。但能否通过嵌套的方式实现呢?我们可以试一下:

Writing to Same Doc    * {        box-sizing: border-box;    }    html, body{        width: 100%;        height: 100%;        margin: 0;    }    .container{        width:100%;    }    .container:after{        display: table;        content:".";        clear:both;    }        .container .cl{        float:left;        border: 1px solid red;        height: 200px;    }        .main{        width:100%;        padding: 0 290px 0 320px;        background-color: blue;    }    .sub{        width: 320px;        margin-left:-100%;        background-color: white;    }    .extra{        width: 290px;        margin-left:-290px;        background-color: yellow;    }

2.png

栅格系统的原理

3.png

假设:Flowline的宽度为W,column的宽度为c,Gutter的宽度为g,Margin的宽度为m,栅格列数为N

W = c*N + g*(N-1) + 2m;g的宽度通常为m的两倍,所以:

W = (c+g) * N;把c+g记为C,得:

W = C * N;

大部分的栅格系统都是此公式的变体。

Bootstrap的栅格系统

下面我们将一起来看一下常见的栅格布局的设计和bootstrap中的设计实现。BootStrap中合理的使用栅格布局,必须将列放入row中,而row必须放入container中。container类在布局中主要有两个作用:

在不同的宽度区间内(响应式断点)提供宽度限制。当宽度变化时,采用不同的宽度。

提供一个padding,阻止内部内容触碰到浏览器边界。

Bootstrap中使用padding代替上文中的margin。大小为15px,如下图所示,粉红色为padding大小。

4.png

Row是column的容器,每个row中的column之和必须为12,不过我们可以通过嵌套的方式扩展。Row的左右margin都为-15px,用来抵消container中的padding,如下图蓝色部分所示:

5.png

row的这种设计主要为了方便嵌套,后文中会提到。

Colomn是栅格系统的主角,每个column左右padding都为15px,上文中row的负margin抵消了container的padding,所以为每个column设置padding就是为了防止内容直接触碰边界,同时不同的column之间拥有30px的卡槽(Gutter)。如下图黄色部分所示:

6.png

现在想想上文中提到的公式:W = C * N;

上文提到row的负margin设计主要为了嵌套,如果要在column中嵌套column首先要把被嵌套的column放到row中,把row放到作为容器的column中,而不需要在放置一个container。如下图中蓝色所示,是放入column中的row的负margin区域。

7.png

现在将被嵌套的column放入row中,如下图所示,上层column便是起到了container的作用。

8.png

更多编程相关知识,请访问:编程学习!!

以上就是谈谈css中的栅格布局(图文)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1617291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 05:48:35
下一篇 2025年12月24日 05:48:44

相关推荐

  • first-child的作用是什么

    “:first-child”是css中的一个选择器,其作用是用于匹配其父元素中的第一个子元素;其语法格式是“指定子元素:first-child{css代码样式}”。 本文操作环境:宏基s40-51、hbuilderx.3.0.5&&css3版、windows10家庭中文版 (学习视频…

    好文分享 2025年12月24日
    000
  • css里图片和文字如何等高

    css里设置图片和文字等高的方法:1、添加css属性“vertical-align:middle;”;2、将图片和文字分别套上一个div,然后利用margin属性实现图片和文字等高效果即可。 本教程操作环境:windows7系统、css3版本、Dell G3电脑。 推荐:css视频教程 CSS 让同…

    2025年12月24日
    000
  • css框模型规定了什么作用

    css框模型规定了元素框处理元素内容、内边距、边框和外边距的方式;元素框的最内部分是实际的内容,直接包围内容的是内边距;内边距呈现了元素的背景,内边距的边缘是边框;边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。 本教程操作环境:windows7系统、css3版本、Dell G3电…

    2025年12月24日
    000
  • css如何设置li的样式

    css设置li样式的方法:1、通过list-style-type属性定义li列表的项目符号;2、通过list-style-image属性实现使用图片代替项目符号;3、通过list-style属性综合设置li样式即可。 本教程操作环境:windows7系统、css3版本、Dell G3电脑。 推荐:c…

    2025年12月24日
    000
  • none在css中表示什么意思

    none在css中表示令某个元素失效,常用于display、border、outline、list-style等属性中;如“display:none;”属性表示设置元素不显示,“border: none;”属性表示不显示元素的边框等。 本教程操作环境:windows7系统、css3版本、Dell G…

    2025年12月24日
    000
  • css中resize属性有什么用

    resize属性的作用:指定一个元素是否是由用户调整大小的;若值为“none”则用户无法调整元素的尺寸,值为“both”则可调整元素的高度和宽度,值为“horizontal”则可调整元素的宽度,值为“vertical”则可调整元素的高度。 本教程操作环境:windows7系统、css3版本、Dell…

    2025年12月24日
    000
  • 火狐加载css不成功怎么办

    火狐加载css不成功的解决办法:1、点击F12打出调试面板,并在network选项板中查看error信息;2、依次开启路径“菜单->查看->页面样式->选择“基本页面风格””即可。 本教程操作环境:windows7系统、Mozilla Firefox68.01&&c…

    好文分享 2025年12月24日
    000
  • 网页不能正常显示css怎么办

    网页不能正常显示css的解决办法:1、检查网络原因;2、修改CSS代码写法;3、将CSS文件的字符集和调用CSS文件的网页字符集设置为一致即可。 本教程操作环境:windows7系统、css3版本、Dell G3电脑。 推荐:《css视频教程》 网页不能正常显示css的可能原因 1、网络原因 立即学…

    2025年12月24日
    000
  • jsp css图片不显示怎么办

    jsp css图片不显示的解决办法:首先将图片导入到建好的img文件目录下;然后在CSS中修改代码为“background-image: url(img/flight.jpg);”即可。 本教程操作环境:windows7系统、Java8.0&&css3版本、Dell G3电脑。 推荐…

    2025年12月24日
    000
  • 如何复制css代码

    复制css代码的方法:首先按f12或者右击“检查”打开浏览器的控制台,并点击控制台顶部导航栏上的“Sources”按钮;然后找到样式表;最后在样式表里面按“ctrl+a”快捷键全选并复制即可。 本教程操作环境:windows7系统、Chrome76.0&&CSS3版本、Dell G3…

    2025年12月24日 好文分享
    000
  • 使用CSS实现九宫格布局的几种方法

    本篇文章带大家了解一下使用css实现九宫格布局的几种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 教程推荐:css视频教程 目录: margin负值实现 立即学习“前端免费学习笔记(深入)”; 祖父和亲爹的里应外合 换个思路 – li生了儿子帮大忙。 借助abs…

    2025年12月24日 好文分享
    000
  • css如何设置图片平移

    css设置图片平移的方法:1、通过“translate(x,y)”属性使元素在x轴和y轴方向同时移动;2、通过“translate X(x)”属性使元素仅在x轴方向移动;3、通过“translateY(y)”属性使元素仅在y轴方向移动即可。 本教程操作环境:windows7系统、HTML5&…

    2025年12月24日
    000
  • css怎么让连续数字字母换行

    css让连续数字字母换行的方法:首先创建一个HTML示例文件;然后使用“word-wrap: break-word;”属性让连续数字字母强制换行即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本、Dell G3电脑。 推荐:css视频教程 在div+css布局中…

    2025年12月24日
    000
  • css怎么设置text不可编辑

    css设置text不可编辑的方法:1、通过“οnfοcus=this.blur()”方法设置text不可编辑;2、使用readonly属性设置输入字段为只读;3、使用disabled属性设置禁用input元素即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本、D…

    2025年12月24日
    000
  • css怎么让图片横着排列

    css让图片横着排列的方法:首先创建一个div来包裹所有的图片;然后隐藏外层div在纵向的滚动条,将横向滚动条设置为自动;最后设置外层div的white-space属性值为nowrap即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本、Dell G3电脑。 推荐…

    2025年12月24日
    000
  • css 怎么设置全屏背景图片

    css设置全屏背景图片的方法:首先创建一个HTML示例文件;然后在css里为body添加背景图标;最后通过添加background-size样式来设置全屏背景图片即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本、Dell G3电脑。 推荐:css视频教程 在h…

    2025年12月24日 好文分享
    000
  • css怎么在input中插图片

    css在input中插图片的方法:首先在包含input的div中设置子元素;然后设置外层div定位为relative;接着设置span定位为absolute;最后给input添加margin-left属性即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本、Del…

    2025年12月24日
    000
  • 使用css怎么实现毛玻璃效果?

    使用css怎么实现毛玻璃效果?下面本篇文章给大家介绍一下使用css实现毛玻璃效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 其实毛玻璃的模糊效果技术上比较简单,只是用到了 css 滤镜(filter)中的 blur 属性。但是要做一个好的毛玻璃效果,需要注意很多细节。 …

    2025年12月24日 好文分享
    000
  • css怎么让两个背景重合

    css让两个背景重合的方法:首先创建一个HTML示例文件;然后使用【background-image:url(图片地址),url(图片地址);】方式让两个背景图片重合显示即可。 本教程操作环境:windows7系统、HTML5&&CSS3版本、Dell G3电脑。 推荐:css视频教…

    2025年12月24日
    000
  • 边框css四边怎么加

    css设置边框四边的方法:1、使用border-bottom属性设置下边框;2、使用border-left属性设置左边框;3、使用border-right属性设置右边框;4、使用border-top属性设置上边框。 本教程操作环境:windows7系统、css3版本,Dell G3电脑。 相关推荐:…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信