划分网格的线就称为网格线,正常情况下n行有n + 1根水平网格线,m列有m + 1根垂直网格线。...*/ grid-template-areas: 'a b' 'c d'; } grid-auto-flow 划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格...这两个值主要用于,某些项目指定位置以后,剩下的项目怎么自动放置。...比如网格只有3列,但是某一个项目指定在第5行。这时,浏览器会自动生成多余的网格,以便放置项目。...stretch默认值:拉伸,占满单元格的整个宽度。 start:对齐单元格的起始边缘。 end:对齐单元格的结束边缘。 center:单元格内部居中。
垂轴方向元素对齐 align-items 属性可以使元素在交叉轴方向对齐。 flex-start:元素向侧轴起点对齐。 flex-end:元素向侧轴终点对齐 center:元素在侧轴居中。...baseline:所有元素向基线对齐。侧轴起点到元素基线距离最大的元素将会于侧轴起点对齐以确定基线。 stretch:弹性元素被在侧轴方向被拉伸到与容器相同的高度或宽度。...第一行的垂直轴起点边和容器的垂直轴起点边对齐。接下来的每一行紧跟前一行。 flex-end:所有行从垂直轴末尾开始填充。最后一行的垂直轴终点和容器的垂直轴终点对齐。同时所有后续行与前一个对齐。...(默认值) align-content 多主轴对齐控制 ? 1.7. 视觉顺序控制 CSS order 属性规定了弹性容器中的可伸缩项目在布局时的顺序。元素按照 order 属性的值的增序进行布局。...负值无效 CSS flex-shrink 属性定义弹性盒子项(flex item)的收缩因子。 负值无效 拉伸、收缩关键算法: ? 拉伸示例: ? <!
space-around - 在每个网格项之间放置一个均匀的空间,在远端放置半个大小的空格 space-between - 在每个网格项之间放置一个偶数空间,在远端没有空格 space-evenly...值: start - 将网格对齐在网格容器的上起始边缘线 end - 将网格对齐在网格容器的下边缘线 center - 将网格对齐在网格容器的中心 stretch - 讲网格拉伸充满整个网格容器 space-around...- 在每个行网格项之间放置一个均匀的空间,在两端放置半个大小的空格 space-between - 在每个行网格项之间放置一个均匀的空间,两端没有空格 space-evenly - 在每个行网格项之间和两端放置一个均匀的空间...grid-auto-columns grid-auto-rows 指定任何自动生成的网格轨道的大小(也称为隐式网格轨道)。当网格项目多于网格中的单元格或网格项目放置在显式网格之外时,将创建隐式轨道。...如果您没有明确放置在网格上的网格项,则自动放置算法会自动放置项目。
(终点对齐);center(居中对齐);baseline(第一行文字的基线对齐) 多根轴线对齐方式 align-content stretch(拉伸对齐,默认);flex-start(起点对齐);flex-end...(起点对齐);flex-end(终点对齐);center(居中对齐);baseline(基线对齐);stretch(拉伸对齐) flex.css 的使用 在移动端开发中,并不是所有的浏览器、webview...由于 flex.css 采用了 autoprefixer 编译,所以能够保证在浏览器不支持标准 flex 布局的情况下,回滚到旧版本的-webkit-box,保证移动设备中能呈现出一样的布局效果 于是,.../autodiv>div> div> 项目对齐 置顶对齐 项目默认是置顶对齐的,手动添加可以使用 cross-start div data-flex="gutter"> div data-cell...div>div> div data-cell> div class="item">居中对齐div>div> div> 混合对齐 为个别项目自身设置独立的对齐方式 div data-flex
一、align-self 子项目属性 - 设置指定子项目元素侧轴排列方式 align-self 子项目属性 用于 控制 子项目 在 侧轴 上的排列方式 ; align-self 子项目属性样式 , 可以..., 侧轴元素 垂直居中 ; stretch , 侧轴元素 拉伸 ; 二、代码示例 - 设置指定子项目的侧轴排列方式 下面的代码中 , 在 flex 弹性布局中 , 侧轴排列方式默认为 flex-start...样式 , 使用 div span:nth-child(2) { /* 将 2 号子元素设置为 下对齐 */ align-self: flex-end...; } 样式 , 将 div 下的 第 2 个 span 的侧轴排列方式设置成 align-self: flex-end; 样式 ; 代码示例 : <!...span:nth-child(2) { /* 将 2 号子元素设置为 下对齐 */ align-self: flex-end; }
="item item-10">10div> div> 下面开始我们的正文 容器属性 1. display属性 display:grid为一个容器采用网格布局模式 将元素定义为网格容器,并为其内容建立新的网格格式化上下文...生成一个块级网格 inline-grid:生成一个行级网格 .container { display: grid; /* display: inline-grid; 行级网格*/ } 在大多数场景下我们往往采用...5. grid-auto-flow 属性 划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是"先行后列",即先填满第一行,再开始放入第二行,即下图数字的顺序。...end:对齐单元格的结束边缘。 center:单元格内部居中。 stretch:拉伸,占满单元格的整个宽度(默认值)。...stretch :项目大小没有指定时,拉伸占据整个网格容器。 ? space-around :每个项目两侧的间隔相等。因此,项目之间的间隔比项目与容器边框的间隔大一倍 ?
在大多数情况下,只有容器的直接子元素才是弹性项目。...而在该容器中表现为弹性盒子的元素被称为弹性项(flex item)。 四、列还是行? 默认情况下,Flexbox 将项目在行的方向排列。...五、换行 有时,弹性项目的总宽度可能会超过容器的宽度。在这种情况下,默认情况下,Flexbox 会缩小弹性项目以适应容器。为了允许换行,可以使用 flex-wrap 属性进行设置。...(垂直对齐) align-items 属性控制项目在交叉轴上的对齐方式,常用值包括: flex-start:项目在交叉轴上端对齐。...flex-end:项目在交叉轴下端对齐。 center:项目在交叉轴中心对齐。 baseline:项目基线对齐。 stretch:项目拉伸以填满容器的高度。
当我们为父盒子设为flex布局以后,子元素的float、vertical-align数据将失效。...2 3 div> 2.3 justify-content 设置主轴上的子元素排列方式 justify-content 属性定义了项目在主轴上的对齐方式...> 图片 2.6 align-content和align-items区别 align-items适用于单行情况下,只有上对齐、下对齐、居中和拉伸 align-content适应于换行(多行)情况下(单行情况下无效...),可以设置上对齐、下对齐、居中、拉升以及平均分配剩余空间等属性值。... 4.2 align-self 控制子项在侧轴上的排列方式 align-self 属性允许单个项目有其他项目不一样的对齐方式,可覆盖align-items属性。
.box { flex-flow: || ; } 3.4 justify-content属性 justify-content属性定义了项目在主轴上的对齐方式...所以,项目之间的间隔比项目与边框的间隔大一倍。 3.5 align-items属性 align-items属性定义项目在交叉轴上如何对齐。...具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。 flex-start:交叉轴的起点对齐。 flex-end:交叉轴的终点对齐。 center:交叉轴的中点对齐。...baseline: 项目的第一行文字的基线对齐。 stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。...如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。
项目默认沿主轴排列。单个项目占据的主轴空间叫做 main size ,占据的交叉轴空间叫做 cross size 。 容器的属性 以下 6 个属性设置在容器上。...图片 align-items 属性(垂直方向对齐) align-items属性定义项目在交叉轴上如何对齐。...注意看文字底部都对齐了 图片 stretch(默认值):如果项目未设置高度或设为 auto,将占满整个容器的高度。...="flex-grow:1">1div> 如果所有项目的 flex-grow 属性都为 1,则它们将等分剩余空间(如果有的话)。...负值对该属性无效 图片 div style="flex-shrink:0">0div> flex-basis 属性 flex-basis 属性定义了在分配多余空间之前,项目占据的主轴空间(main
你可以使用网格项的justify-self属性,设置其内容的位置在单元格内沿行轴对齐的方式。默认情况下,这个属性的值是stretch,这将使内容占满整个单元格的宽度。...十二、align-self 垂直对齐 使用align-self属性,设置内容在单元格内垂直对齐方式。默认情况下,这个属性的值是stretch,这将使内容占满整个单元格的高度。...下面是: 用grid-area属性将类为item5的元素放置在第 3 条和第 4 条水平线及第 1 条和第 4 条垂直线之间的区域内 .item1{background:LightSkyBlue...item5的元素放置在第 3 条和第 4 条水平线及第 1 条和第 4 条垂直线之间的区域内。...(60px, 1fr));该代码的效果:列的宽度会随容器大小改变,在可以插入一个 60px 宽的列之前,当前行的所有列会一直拉伸 需要注意的是: 如果容器无法使所有网格项放在同一行,余下的网格项将移至新的一行
一般来说,flexbox在一维场景(比如,一串类似的元素)下有最佳应用,而网格是二维场景下理想的布局方案(例如整个页面的元素)。...使用Flexbox的好处 flexbox的一些好处是: 页面元素能被任意方向地放置(靠左、靠右、从上往下甚至从下往上) 布局内容的可视顺序能够被反转或重排 元素大小能“弹性”适应可用空间,并根据容器或者兄弟元素进行相应地对齐...如此设置会让它的子元素变成“弹性项目(flex item)”。这些弹性项目拥有一些易于使用的默认属性。比如,它们被紧挨着放置,那些没有特别指明宽度的元素自动占满了剩余的空间。...如果你倾向于显式地为每一列指定order,你可以将.content的order设为1,把的order设为2,把的设为3。...可以的值有center,flex-start,flex-end,stretch(默认值:子项被拉伸以适应它们的容器)和baseline(子项被放置在父容器的baseline上)。
项目在弹性容器内垂直排列,从上到下依次分布。...布局(网格布局)是 CSS 中一种强大的二维布局模型,它能够将网页分割为行和列的网格,然后精确地将元素放置到这些网格区域中。...justify-items 设置网格项目水平对齐方式,取值 start(左对齐)、end(右对齐)、center(居中对齐)、stretch(拉伸填充,默认值) 。...,取值同 justify-items,分别对应顶部对齐、底部对齐、居中对齐和拉伸填充。...div> 运行结果: 5.7 网格整体水平对齐:justify-content align-items用于设置整个网格在容器水平方向上的对齐方式,取值包括start
:nth-child(3) { /* 后续将项目属性时会细讲。...justify-items:设置单元格内容的水平位置 align-items:设置单元格内容的垂直位置 它们的取值都是一样的: start: 对齐单元格的起点 end: 对齐单元格的终点 center:...单元格内容居中 stretch: 拉伸占满单元格(默认值) justify-items属性 上面已经简单介绍过了,其实和flex的差不太多,接下来来一下实例加深一下印象。...box元素的CSS基础代码加一下下面的内容。...: stretch; start:真正内容的大小,不会拉伸。
baseline: 项目的第一行文字的基线对齐。 stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。...这两个值主要用于,某些项目指定位置以后,剩下的项目怎么自动放置。 下面的例子让1号项目和2号项目各占据两个单元格,然后在默认的grid-auto-flow: row情况下,会产生下面这样的布局。...start:对齐单元格的起始边缘。 end:对齐单元格的结束边缘。 center:单元格内部居中。 stretch:拉伸,占满单元格的整个宽度(默认值)。...end - 对齐容器的结束边框。 center - 容器内部居中。 stretch - 项目大小没有指定时,拉伸占据整个网格容器。 space-around - 每个项目两侧的间隔相等。...start:对齐单元格的起始边缘。 end:对齐单元格的结束边缘。 center:单元格内部居中。 stretch:拉伸,占满单元格的整个宽度(默认值)。
由于 .gallery 里的 Flexbox 布局,里面的图片会被压缩排列在一行内,而且它们会被纵向拉伸成这样: ?...图片都被纵向拉伸,并且挤在一行内,不能更丑 :( 这就是由于 Flexbox 布局的默认展示方式: 1、将所有的子元素压在一行内,不换行。...align-items: flex-start} 这样图片不会拉伸,而是保持它们默认的宽和高。 如下所示,它们会在纵向保持首部对齐。 ?...这时,卡片会在页面的起始处对齐,并且竖向排列。 ? 卡片首部对齐 这有时可能满足你的使用需求,但大部分情况下,都不行。 Flex 容器的默认值 上面的布局效果是由于 Flex 容器的默认布局设置。...应用 .row\_cell — top 类可以让特定的元素在 row 内靠顶部对齐 你一定有在标识文本中给特定元素加上这个类。
2.子级属性可以简单的理解为作用内层div。flex:是子项目在主轴的缩放比例,不指定flex属性,则不参与伸缩分配。...-----------------justify-content------------------------ \*/ /\* 定义了子项目在主轴上的对齐方式...所有的子项目都是排列在一条线上的,也就是说默认不换行。...align-item属性是控制子项在侧轴(默认是y轴)上的排列方式,可以在子项为单行的时候使用 \*/ /\* 默认值,从上到下 \*/ /\* align-items...(多行)------------------------------ \*/ /\* 适用于子项出现换方(多行)的情况,在单行下是没有效果的 \*/
space-between:最左边与最右边子元素和父元素的左右边对齐,中间子元素平均分布,产生相同的间距。 space-around:将父盒子多余的空间平均分布在子元素的两边。...语法: align-items: center; // 设置子元素(伸缩项)在侧轴方向上的对齐方式 center:设置在侧轴方向上居中对齐 flex-start:设置在侧轴方向上顶对齐 flex:设置在侧轴方向上底对齐...stretch:(默认值)拉伸:让子元素在侧轴方向上进行拉伸,填充满整个侧轴方向。...(在子元素未设置高度时有效) baseline:以子元素中文本基线对齐来来对齐*/ 问题: align-items 既然写在父元素中,是对所有子元素在侧轴方向的对齐方式进行设置。...那么,能不能单独设置某个子元素在侧轴的对齐方式呢? 5、align-self (子元素使用) 单独设置某个子元素在侧轴的对齐方式,属性值和 align-items 相同。
3.5 grid-auto-flow 属性 划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是”先行后列”,即先填满第一行,再开始放入第二行,即下图数字的顺序。 ?...这两个值主要用于,某些项目指定位置以后,剩下的项目怎么自动放置。 下面的例子让1号项目和2号项目各占据两个单元格,然后在默认的grid-auto-flow: row情况下,会产生下面这样的布局。 ?...start:对齐单元格的起始边缘。 end:对齐单元格的结束边缘。 center:单元格内部居中。 stretch:拉伸,占满单元格的整个宽度(默认值)。...end – 对齐容器的结束边框。 ? center – 容器内部居中。 ? stretch – 项目大小没有指定时,拉伸占据整个网格容器。 ? space-around – 每个项目两侧的间隔相等。...start:对齐单元格的起始边缘。 end:对齐单元格的结束边缘。 center:单元格内部居中。 stretch:拉伸,占满单元格的整个宽度(默认值)。
,即项目的排列方向(子元素是跟着主轴方向来排列的) 属性值 描述 row 从左到右 (默认值) row-reverse 从右到左 column 从上到下 column-reverse 从下到上 3....justify-content - 设置主轴上的子元素排列方式 ---- justify-content 属性用于定义项目在主轴上的对齐方式,使用之前一定要确定好主轴是哪个 属性值 描述 flex-start...拉伸 (子元素不能设置高度) 6. align-content - 设置侧轴上的子元素排列方式 (多行) ---- 多行指的是有换行的情况下,在单行下是没有效果的 属性值 描述 stretch 子项高度平分父元素高度...(默认值) flex-start 在侧轴的头部开始排列 flex-end 在侧轴的尾部开始排列 space-around 子项在测轴平分剩余空间 space-between 子项在测轴先分布在两头,再平分剩余空间...align-items 适用于单行情况下,只有上对齐、下对齐、居中和拉伸 align-content 适用于有换行的情况下,不仅有上对齐、下对齐、居中、拉伸,还有平均分配剩余空间的属性值 总结: 子项单行用