首页
关于视觉癖
设计服务
热门主题
投稿通道
设计师入驻
设计师招聘
在线留言
联系我们

热门主题

当前位置:视觉癖 > 热门主题 >

grid-row属性(CSS设置)

发布时间:2021-09-10 17:31 所属分类:热门主题 浏览次数:
  grid-row属性(CSS设置)
  一、概述
  网格布局(Grid)是最强壮的CSS布局方案。
  它将网页区分成一个个网格,能够任意组合不同的网格,做出各式各样的布局。以前,只能经过杂乱的CSS结构达到的作用,现在浏览器内置了。
  上图这样的布局,便是Grid布局的拿手好戏。
  Grid布局与Flex布局有必定的相似性,都能够指定容器内部多个项目的方位。可是,它们也存在严重差异。
  Flex布局是轴线布局,只能指定"项目"针对轴线的方位,能够看作是一维布局。Grid布局则是将容器区分成"行"和"列",发生单元格,然后指定"项目所在"的单元格,能够看作是二维布局。Grid布局远比Flex布局强壮。
CSS
  二、基本概念
  学习Grid布局之前,需求了解一些基本概念。
  2.1容器和项目
  选用网格布局的区域,称为"容器"(container)。容器内部选用网格定位的子元素,称为"项目"(item)。
  <div><div><p>1p>div><div><p>2p>div><div><p>3p>div>div>
  上面代码中,最外层的
  元素便是容器,内层的三个
  元素便是项目。
  留意:项目只能是容器的顶层子元素,不包括项目的子元素,比方上面代码的
  元素就不是项目。Grid布局只对项目收效。
  2.2行和列
  容器里边的水平区域称为"行"(row),笔直区域称为"列"(column)。
  上图中,水平的深色区域便是"行",笔直的深色区域便是"列"。
  2.3单元格
  行和列的穿插区域,称为"单元格"(cell)。
  正常情况下,n行和m列会发生nxm个单元格。比方,3行3列会发生9个单元格。
  2.4网格线
  区分网格的线,称为"网格线"(gridline)。水平网格线区分出行,笔直网格线区分出列。
  正常情况下,n行有n+1根水平网格线,m列有m+1根笔直网格线,比方三行就有四根水平网格线。
  上图是一个4x4的网格,共有5根水平网格线和5根笔直网格线。
  三、容器特点
  Grid布局的特点分成两类。一类界说在容器上面,称为容器特点;另一类界说在项目上面,称为项目特点。这部分先介绍容器特点。
  3.1display特点
  display:grid指定一个容器选用网格布局。
  div{display:grid;}
  上图是display:grid的作用。
  默许情况下,容器元素都是块级元素,但也能够设成行内元素。
  div{display:inline-grid;}
  上面代码指定div是一个行内元素,该元素内部选用网格布局。
  上图是display:inline-grid的作用。
  留意,设为网格布局今后,容器子元素(项目)的float、display:inline-block、display:table-cell、vertical-align和column-*等设置都将失效。
  3.2
  grid-template-columns特点,
  grid-template-rows特点
  容器指定了网格布局今后,接着就要区分行和列。grid-template-columns特点界说每一列的列宽,grid-template-rows特点界说每一行的行高。
  .container{display:grid;grid-template-columns:100px100px100px;grid-template-rows:100px100px100px;}
  上面代码指定了一个三行三列的网格,列宽和行高都是100px。
  除了运用肯定单位,也能够运用百分比。
  .container{display:grid;grid-template-columns:33.33%33.33%33.33%;grid-template-rows:33.33%33.33%33.33%;}
  (1)repeat()
  有时候,重复写同样的值十分费事,尤其网格很多时。这时,能够运用repeat()函数,简化重复的值。上面的代码用repeat()改写如下。
  .container{display:grid;grid-template-columns:repeat(3,33.33%);grid-template-rows:repeat(3,33.33%);}
  repeat()接受两个参数,榜首个参数是重复的次数(上例是3),第二个参数是所要重复的值。
  repeat()重复某种模式也是能够的。
  grid-template-columns:repeat(2,100px20px80px);
  上面代码界说了6列,榜首列和第四列的宽度为100px,第二列和第五列为20px,第三列和第六列为80px。
  (2)auto-fill关键字
  有时,单元格的巨细是固定的,可是容器的巨细不确定。假如希望每一行(或每一列)容纳尽可能多的单元格,这时能够运用auto-fill关键字表明主动填充。
  .container{display:grid;grid-template-columns:repeat(auto-fill,100px);}
  上面代码表明每列宽度100px,然后主动填充,直到容器不能放置更多的列。
  (3)fr关键字
  为了便利表明比例关系,网格布局供给了fr关键字(fraction的缩写,意为"片段")。假如两列的宽度别离为1fr和2fr,就表明后者是前者的两倍。
  .container{display:grid;grid-template-columns:1fr1fr;}
  上面代码表明两个相同宽度的列。
  fr能够与肯定长度的单位结合运用,这时会十分便利。
  .container{display:grid;grid-template-columns:150px1fr2fr;}
  上面代码表明,榜首列的宽度为150像素,第二列的宽度是第三列的一半。
  (4)minmax()
  minmax()函数发生一个长度规模,表明长度就在这个规模之中。它接受两个参数,别离为最小值和最大值。
  grid-template-columns:1fr1frminmax(100px,1fr);
  上面代码中,minmax(100px,1fr)表明列宽不小于100px,不大于1fr。
  (5)auto关键字
  auto关键字表明由浏览器自己决定长度。
  grid-template-columns:100pxauto100px;
  上面代码中,第二列的宽度,基本上等于该列单元格的最大宽度,除非单元格内容设置了min-width,且这个值大于最大宽度。
  (6)网格线的名称
  grid-template-columns特点和grid-template-rows特点里边,还能够运用方括号,指定每一根网格线的姓名,便利今后的引用。
  .container{display:grid;grid-template-columns:[c1]100px[c2]100px[c3]auto[c4];grid-template-rows:[r1]100px[r2]100px[r3]auto[r4];}
  上面代码指定网格布局为3行x3列,因而有4根笔直网格线和4根水平网格线。方括号里边依次是这八根线的姓名。
  网格布局答应同一根线有多个姓名,比方[fifth-linerow-5]。
  (7)布局实例
  grid-template-columns特点对于网页布局十分有用。两栏式布局只需求一行代码。
  .wrapper{display:grid;grid-template-columns:70%30%;}
  上面代码将左面栏设为70%,右边栏设为30%。
  传统的十二网格布局,写起来也很容易。
  grid-template-columns:repeat(12,1fr);
  3.3
  grid-row-gap特点,
  grid-column-gap特点,
  grid-gap特点
  grid-row-gap特点设置行与行的间隔(行间距),grid-column-gap特点设置列与列的间隔(列间距)。
  .container{grid-row-gap:20px;grid-column-gap:20px;}
  上面代码中,grid-row-gap用于设置行间距,grid-column-gap用于设置列间距。
  grid-gap特点是grid-column-gap和grid-row-gap的合并简写形式,语法如下。
  grid-gap:<grid-row-gap><grid-column-gap>;
  因而,上面一段CSS代码等同于下面的代码。
  .container{grid-gap:20px20px;}
  假如grid-gap省掉了第二个值,浏览器认为第二个值等于榜首个值。
  根据最新标准,上面三个特点名的grid-前缀现已删去,grid-column-gap和grid-row-gap写成column-gap和row-gap,grid-gap写成gap。
  3.4grid-template-areas特点
  网格布局答应指定"区域"(area),一个区域由单个或多个单元格组成。grid-template-areas特点用于界说区域。
  .container{display:grid;grid-template-columns:100px100px100px;grid-template-rows:100px100px100px;grid-template-areas:'abc''def''ghi';}
  上面代码先区分出9个单元格,然后将其定名为a到i的九个区域,别离对应这九个单元格。
  多个单元格合并成一个区域的写法如下。
  grid-template-areas:'aaa''bbb''ccc';
  上面代码将9个单元格分成a、b、c三个区域。
  下面是一个布局实例。
  grid-template-areas:"headerheaderheader""mainmainsidebar""footerfooterfooter";
  上面代码中,顶部是页眉区域header,底部是页脚区域footer,中心部分则为main和sidebar。
  假如某些区域不需求利用,则运用"点"(.)表明。
  grid-template-areas:'a.c''d.f''g.i';
  上面代码中,中心一列为点,表明没有用到该单元格,或许该单元格不属于任何区域。
  留意,区域的命名会影响到网格线。每个区域的开端网格线,会主动命名为区域名-start,终止网格线主动命名为区域名-end。
  比方,区域名为header,则开端方位的水平网格线和笔直网格线叫做header-start,终止方位的水平网格线和笔直网格线叫做header-end。
  3.5grid-auto-flow特点
  区分网格今后,容器的子元素会依照次序,主动放置在每一个网格。默许的放置次序是"先行后列",即先填满榜首行,再开端放入第二行,即下图数字的次序。
  这个次序由grid-auto-flow特点决定,默许值是row,即"先行后列"。也能够将它设成column,变成"先列后走"。
  grid-auto-flow:column;
  上面代码设置了column今后,放置次序就变成了下图。
  grid-auto-flow特点除了设置成row和column,还能够设成rowdense和columndense。这两个值首要用于,某些项目指定方位今后,剩余的项目怎么主动放置。
  下面的比如让1号项目和2号项目各占有两个单元格,然后在默许的grid-auto-flow:row情况下,会发生下面这样的布局。
  上图中,1号项目后边的方位是空的,这是由于3号项目默许跟着2号项目,所以会排在2号项目后边。
  现在修正设置,设为rowdense,表明"先行后列",并且尽可能严密填满,尽量不出现空格。
作品标签: CSS

评论列表(共8人参与)参与讨论或分享设计作品获得视觉癖积分奖励

用户头像图片
    最好的人生注册会员
    2021-09-10 1:8:16

    机械,即做出优化规划。优化规划需要归纳地考虑许多要求,一般有:最好作业功能、最低制作本钱、最小尺度和重量、运用中最可靠性、最低消耗和最少环境污染。这些要求常是互相矛盾的,而且它们之印刷规划办法的重要性 海报印刷的时分,规划的办法是至关重要的,因为

    回复
用户头像图片
    PPT常注册会员
    2021-09-10 1:18:7

    言事情。 Video标签的运用 Video标签含有src、poster、preload、augrid-row属性(CSS设置)v> 效果:标签用于界说文档的头部,它。。。

      用户头像图片
        源至今有2注册会员
        2021-09-10 23:22:34

        @PPT常:grid-row属性(CSndows" src="/uploads/allimg/210904/1-210Z4151932.jpg" /> 处理过程如下~~~

    回复
用户头像图片
    装规划会运用游客
    2021-09-10 13:37:50

    游客83938:grid-row属性(道为分界线的客餐厅别离散布在两侧; 二、客厅 客厅的布局规划是经过改动的,所以看上去很宽阔;客厅的地上铺了原木色的地板,舒适也自然,,这样的小阳台的采光是性是非常好的,不管是工装学习仍是家居生活都是可行的,将小阳台规划成为阳光房也是一个不错的挑选。此外,在阳光房中放置一把休闲椅、一张小型的桌

    回复
用户头像图片
    富贵、雍注册会员
    2021-09-10 18:49:6

    必定的相似性,都能够指定容器内部多个项目的方位。可是,它们也存在严重差异。 么技能,最终也能清晰的知道该学习什么技能了。 总的来说呢分为四大主要责任: 1.美术与程序间

    回复