首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS 新版网格布局简述

如果计算机的计算能力足够强大,是不是人这个东西也可以用物理量进行表示。 网格布局 CSS 网格是一个用于 web 的二维布局系统。利用网格,你可以把内容按照行与列的格式进行排版。...如图: 然后我们对css规则做点改变,来了解网格是如何工作的。 首先,将容器的display属性设置为grid来定义一个网络。与弹性盒子一样,将父容器改为网格布局后,他的直接子项会变为网格项。...2fr可用空间,余下的两列各被分配了1fr的可用空间,这会使得第一列的宽度是第二第三列的两倍。...另外,fr可以与一般的长度单位混合使用,比如grid-template-columns: 300px 2fr 1fr,那么第一列宽度是300px,剩下的两列会根据除去300px后的可用空间按比例分配。...第一个传入repeat函数的值(3)表明了后续列宽的配置要重复多少次,而第二个值(1fr)表示需要重复的构建配置,这个配置可以具有多个长度设定。

1.6K10

grid布局方式的使用「建议收藏」

正常情况下,n行有n + 1根水平网格线,m列有m + 1根垂直网格线,比如三行就有四根水平网格线。 上图是一个 4 x 4 的网格,共有5根水平网格线和5根垂直网格线。...grid-template-columns: repeat(2, 100px 20px 80px); 上面代码定义了6列,第一列和第四列的宽度为100px,第二列和第五列为20px,第三列和第六列为....container { display: grid; grid-template-columns: 150px 1fr 2fr; } 上面代码表示,第一列的宽度为150像素,第二列的宽度是第三列的一半....container { grid-gap: 20px 20px; } 如果grid-gap省略了第二个值,浏览器认为第二个值等于第一个值。...3.5 grid-auto-flow 属性 划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是”先行后列”,即先填满第一行,再开始放入第二行,即下图数字的顺序。

2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Grid网格布局入门

    正常情况下,n行有n + 1根水平网格线,m列有m + 1根垂直网格线,比如三行就有四根水平网格线。 ? 上图是一个 4 x 4 的网格,共有5根水平网格线和5根垂直网格线。...grid-template-columns: repeat(2, 100px 20px 80px); 上面代码定义了6列,第一列和第四列的宽度为100px,第二列和第五列为20px,第三列和第六列为80px....container { display: grid; grid-template-columns: 150px 1fr 2fr; } 上面代码表示,第一列的宽度为150像素,第二列的宽度是第三列的一半....container { grid-gap: 20px 20px; } 如果grid-gap省略了第二个值,浏览器认为第二个值等于第一个值。...3.5 grid-auto-flow 属性 划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是”先行后列”,即先填满第一行,再开始放入第二行,即下图数字的顺序。 ?

    2.1K20

    最强大的 CSS 布局 —— Grid 布局

    Grid 会为我们创建编号的网格线来让我们来定位每一个网格元素。m 列有 m + 1 根垂直的网格线,n 行有 n + 1 跟水平网格线。比如上图示例中就有 4 根垂直网格线。...固定行高和列宽 repeat() 函数:可以简化重复的值。该函数接受两个参数,第一个参数是重复的次数,第二个参数是所要重复的值。...grid-template-columns: 200px 1fr 2fr 表示第一个列宽设置为 200px,后面剩余的宽度分为两部分,宽度分别为剩余宽度的 1/3 和 2/3。...grid-template-columns: 1fr 1fr minmax(300px, 2fr) 的意思是,第三个列宽最少也是要 300px,但是最大不能大于第一第二列宽的两倍。...其中它跟 .three (垂直网格线是从3 到 4,水平网格线是从 1 到 4) 是有冲突的。可以设置 z-index 去决定它们的层级关系 ?

    5.9K20

    Jump Start Bootstrap 第2章

    我们将学会网格系统如何工作;我们如何在应用中使用网格系统;我们也将创建简单的网页布局去更好的理解它。 什么是网格系统?...这里的每一列都由一个数字表示。 ? 建立一个基本的网格 在本节中,我们将使用Bootstrap网格系统创建我们的第一个网站布局。我们将使用与我们在上一章中创建的相同的设置。...最后,我们有一个完整的HTML页面响应式,可以手动调整浏览器宽度,动态地观察布局变化。我希望您在理解引导程序的网格系统时发现这个案例研究很有用。...由于我们在这里启动了一个新行,其中的任何列都可以跨12格,但是这一行的宽度将被限制到它的父类的宽度。 让我们用一个例子来说明这个问题。...这两个新列现在被放置在第一列中。

    2.9K40

    理解 CSS 布局和 BFC

    你可能从未听说过这个术语,但是如果你曾经用CSS做过布局,你可能知道它是什么,理解什么是 BFC,怎么工作以及如何创建 BFC 非常有用,这些可以帮助你理解CSS中的布局是如何工作的。...块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...这是因为当我们浮动一个元素时,文本所在的框的宽度保持不变,为给浮动元素腾出空间而缩短的是文本的行框。这就是为什么背景和边框会出现在浮动后面的原因。 我们通常有两种方法来解决这个布局问题。...查看演示 在多列布局中使用 BFC 如果我们创建一个占满整个容器宽度的多列布局,在某些浏览器中最后一列有时候会掉到下一行。这可能是因为浏览器四舍五入了列宽从而所有列的总宽度会超出容器。...不过无论如何,你现在应该已经理解了什么是 BFC,以及如何使用 overflow 或其他方法来包裹浮动,以及知道了 BFC 可以阻止元素去环绕浮动元素,如果你想使用弹性或网格布局可以在一些不支持他们的浏览器中使用

    1.2K00

    理解 Css 布局和 BFC

    你可能从未听说过这个术语,但是如果你曾经用CSS做过布局,你可能知道它是什么,理解什么是 BFC,怎么工作以及如何创建 BFC 非常有用,这些可以帮助你理解CSS中的布局是如何工作的。...块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...在多列布局中使用 BFC 如果我们创建一个占满整个容器宽度的多列布局,在某些浏览器中最后一列有时候会掉到下一行。这可能是因为浏览器四舍五入了列宽从而所有列的总宽度会超出容器。...创建一个 BFC 现在尽管盒子的宽度稍有改变,但布局不会打破。当然,对多列布局来说这不一定是个好办法,但能避免最后一列下掉。...不过无论如何,你现在应该已经理解了什么是 BFC,以及如何使用 overflow 或其他方法来包裹浮动,以及知道了 BFC 可以阻止元素去环绕浮动元素,如果你想使用弹性或网格布局可以在一些不支持他们的浏览器中使用

    1.4K00

    分享一些关于 CSS Grid 基础入门知识

    网格系统(CSS Grid)是CSS中最重要的特性之一。它能够以简单的方式将元素对齐到列和行中。CSS网格使得设计复杂且响应式的网页变得更加容易,无需使用浮动、表格或定位。...网格模板列(grid-template-columns) 属性grid-template-columns用于定义网格容器中的列数。它还可以帮助定义每个列的宽度。 假设你想在网格容器内定义3列。...你的任务是使其具有响应式布局,因此你决定在桌面上每列显示三个产品,在平板上每列显示两个产品,而在手机上每列只显示一个产品。...它与grid-template-columns类似,唯一的区别是现在我们是在处理行而不是列。 假设我们想要定义一个具有两列和两行的网格容器。...结论 网格是一个令人惊叹的CSS特性,它使你能够轻松设计复杂且响应式的布局结构。我强烈建议你多加练习这个特性,因为只有通过实践才能更好地掌握它。

    20930

    BootStrap 前端框架简介

    ,可是现在随着用户使用终端设备的多样化,平板手机已经很常见,所以如何制作适合手机使用的网页?...使用行样式row来创建水平的列组。 内容需要放置在列中,并且只有列可以是行的直接子节点。 预定义的类如 .row 和 .col-sm-4 可用于快速制作网格布局。...这个间隙是通过 .rows 类上的负边距设置第一行和最后一列的偏移。 网格列是通过跨越指定的 12 个列来创建。 例如,设置三个相等的列,需要使用用三个.col-sm-4 来设置。...Flexbox 的一大优势是,没有指定宽度的网格列将自动设置为等宽与等高列 。...站点引用 Bootstrap 插件的方式有两种: 单独引用:使用 Bootstrap 的个别的 *.js 文件。一些插件和 CSS 组件依赖于其他插件。

    16510

    简明 CSS Grid 布局教程

    ,比如grid-template-columns: 100px 1fr 2fr的结果就是第一列宽度是 100px,剩下的两列会根据去掉 100px 后的可用空间按比例 1: 2 来分配。...假设现在我们定义一个 1 行x 2 列的宽高都为 100px 的网格容器,并在其中放置了 a 和 b 两个网格项: 如果我们把网格项 a 和 b 放置到已定义的网格之外的话: .a { grid-column...例如现在有 3 x 3 的网格容器,a 、b都占两列,默认情况下由于 b 在第一行不够空间,最终会放到第二行,然后 c 在 b 后面。...其中第二列里的内容是一串连续字符,由于没有特意设置 work-bread 属性,所以显然第二列的内容会超出预期的宽度: 这种问题设置下 word-break: break-word 就好,但这是最简单的情景...其实不能...而如果给第二列加一个固定宽度,的确可以解决问题,但这就不是预期的 1fr 了。

    2.9K20

    【Web前端】CSS 响应式设计(补充)

    ​​.container​​ 类设置了一个固定宽度的容器,无论屏幕的宽度如何,容器的宽度都保持在800px,...3.1 使用CSS网格布局 CSS网格布局是一种强大的布局工具,允许我们创建复杂的网格布局。通过定义网格的行和列,我们可以轻松地创建响应式布局。 示例:基本的CSS网格布局 网格布局创建了一个三列的网格,通过媒体查询,我们调整了网格的列数以适应不同的屏幕尺寸。...四、现代布局技术 除了CSS网格布局和Flexbox,现代CSS布局技术还有许多其他有用的工具,如CSS多列布局和CSS变量。它们可以进一步增强响应式设计的灵活性。...4.1 CSS多列布局 CSS多列布局允许我们将内容分成多列,以适应不同的屏幕宽度。 示例:CSS多列布局 <!

    12310

    开心档-软件开发入门之CSS 网格容器

    个人主页:爱学iOS的小麦子的主页​​​​​​ 前言 本章将会讲解Ruby CGI Session CSS 网格容器 图片 网格容器 要使 HTML 元素变成一个网格容器,可以将 display 属性设置为...网格容器内放置着由列和行内组成的网格元素。 grid-template-columns 属性 grid-template-columns 属性定义了网格布局中的列的数量,它也可以设置每个列的宽度。...属性值是一个以空格分隔的列表,其中每个值定义相对应列的宽度。 如果您希望网格布局包含 4 列,则需要设置 4 列的宽度,如果所有列的宽度都是一样的,可以设置为 auto。...属性值是一个以空格分隔的列表,其中每个值定义相对应行的高度: 实例 .grid-container { display: grid; grid-template-rows: 80px 200px...; } justify-content 属性 justify-content 属性用于对齐容器内的网格,设置如何分配顺着弹性容器主轴(或者网格行轴) 的元素之间及其周围的空间。

    68120

    水平垂直居中深入挖掘

    在上篇文章 -- 一行 CSS 代码的魅力 的最后,提到了两种快速实现水平垂直居中的方式。 当然,CSS 中实现水平垂直居中的方式很多。...: 5px; } 看看结果如何: ?...CodePen Demo -- Centering in CSS 2 简单分析分析: absolute 的方法明显有问题,由于用的绝对定位,其实 3 个子元素都叠在了一起 flex 和 grid 的方法...,如果不手动添加边距(margin 或者 gap),会贴在一起 不限制方向的话,flex 默认是水平排列,grid 是竖直排列 非常重要的一点,grid 布局下的子元素的宽度,所有子元素的宽度会被强行拉伸至最宽的一个子元素的内容的宽度...(也就是拉伸至网格宽度) 对于多个子元素,absolute 方法明显不适用, 接下来主要看剩余 3 个方法在一些细节上的差异。

    99720

    grid布局了解一下

    repeat出现了,见词知意,repeat的意思是重复。 那么刚才我们的写法就可以写成: repeat(3,100px),接收两个参数,第一个是重复次数,第二个是像素值。...如下最小值为150px 最大值为1fr,当我们缩小浏览器窗口,可以看到第一列的元素还在变小,而第二列的元素固定在了150px。...,我们的第一列和第三列是固定的宽度,然后第二列是自适应的宽度,此时我们就可以使用auto .main { display: grid; border: 10px solid...grid-auto-flow 划分网格后,容器的子元素会按照顺序,自动的放置在每一个网格,默认的是 先填满第一行,然后再开始第二行。也就是说我们 grid-auto-flow属性,默认是row。...指定item的具体位置 grid-column-start/end 我们让item1以第一个网格线开始,到第三个网格线结束(注意这里是网格线)。

    46820

    前端-CSS Grid中的陷阱和绊脚石

    一个真正的网格是二维的。这两个维度就是行和列,并且使用网格布局,你可以同时控制它们。使用Flexbox,你可以选择是否将这些项列成一行或列,一个或另一个,而不是两个。...这里有一个简单的示例,突出其区别。第一个布局使用Flexbox,为了能尽可能多的使用盒子,以适合可用的宽度。这里我们控制了整个行中的布局。...为了制作一个Flexbox的“网格”,我们必须阻止Flexbox做灵活的操作,而是应该设置百分比宽度,就像我们前面的浮动网格示例一样。...最简单的方法就是使用auto,因为它会默认在隐式网格中创建网格轨道。一个自动大小的网格轨道将扩展到包含所有的内容。在下面的示例中,我有一个两列布局,在右边的列中添加更多的内容会导致整个行的扩展。...传给minmax()函数的第一个值,它是网格轨道最小的值,第二个值是网格轨道最大的值。因此,你可以设置200px的行,但通过auto设置为网格轨道最大值,那么当有较多的内容时,不会出现内容溢出。

    4.8K20

    How to make your HTML responsive by adding a single line of CSS

    -2a62de81e431 原文作者: Per Harald Borgen 翻译作者: hanxiansen 在这篇文章中,我将教你如何使用 CSS Grid 来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量...设置 在本文中,我将继续使用我在第一篇 CSS Grid 布局教程文章中的网格布局。然后,我们将在文章末尾添加图片。下面是我们初始化网格的外观: ?...如果我们将grid-template-columns的值更改为1fr 2fr 3fr,第二列的宽度将会是其它两列的两倍。...总宽现在是四个 fraction 单位,第二列占据两个 fraction 单位,其它列各占一个 fraction。效果如下: ? 总的来说,fraction 单位值将使你可以很容易的更改列的宽度。...第一个参数指定行与列的数量,第二个参数指定它们的宽度,因此它将为我们提供与开始时完全相同的布局: ? auto-fit 然后是auto-fit。

    1.5K10
    领券