应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

如何使用CSS新语法gridarea来设置网格布局

  gridareaCSS属性是一种简写,它通过在一个声明中设置网格行开始、网格列开始、网格行结束和网格列结束的值来指定网格布局中网格项的位置和大小。。gridcontainer{display:grid;gridtemplatecolumns:repeat(autofit,minmax(100px,1fr));}。griditem:nthchild(2){gridarea:2446;isequivalentto:gridrowstart:2;gridcolumnstart:4;gridrowend:4;gridcolumnend:6;}
  由于CSSGrid的默认自动放置行为,此示例中的第二个网格项通常放置在网格第一行的第二列中。但是,由于我们声明了网格面积并将其设置为将网格项的起始边缘和结束边缘与我们所需的网格线对齐,因此该项移动到第二行和第四列,并在两个方向上跨越两条轨道,以满足正确的结束网格线。
  使用网格区域CSS属性设置第二个网格项的位置和大小。成分属性
  如前所述,网格区域属性是结合了四个属性的简写s:
  gridcolumnstart
  。element{gridcolumnstart:3;}
  gridcolumnend
  。element{gridcolumnend:4;}
  gridrowstart
  。element{gridrowstart:2;}
  gridrowend
  。element{gridrowend:3;}
  Syntax语法gridarea:gridline〔gridline〕{0,3}
  此属性最多可以采用四个值,由正斜杠()分隔。设置四个值
  如果设置了第一个值设置网格行开始属性。第二个值设置网格列开始属性。第三个值设置网格行结束属性。第四个值设置网格列结束属性。。griditem{gridarea:2436;isequivalentto:gridrowstart:2;gridcolumnstart:4;gridrowend:3;gridcolumnend:6;}设置三个值
  第一个值设置网格行开始属性。第二个值设置网格列开始属性。如果值为。否则,网格列端设置为auto。第三个值设置网格行结束属性。customident。griditem{gridarea:2area4;isequivalenttogridrowstart:2;gridcolumnstart:area;gridrowend:4;gridcolumnend:area;}gridline。griditem{gridarea:243;isequivalentto:gridrowstart:2;gridcolumnstart:4;gridrowend:3;gridcolumnend:auto;}设置两个值
  第一个值设置网格行开始属性。如果值为。否则,网格行结束设置为自动。第二个值设置网格列开始属性。如果值为。否则,网格列端设置为auto。customident。griditem{gridarea:area4;isequivalenttogridrowstart:area;gridcolumnstart:4;gridrowend:area;gridcolumnend:auto;}anothercustomidentexample。griditem{gridarea:areaanotherarea;isequivalenttogridrowstart:area;gridcolumnstart:anotherarea;gridrowend:area;gridcolumnend:anotherarea;}gridline。griditem{gridarea:24;isequivalenttogridrowstart:2;gridcolumnstart:4;gridrowend:auto;gridcolumnend:auto;}设置1个值
  customident。griditem{gridarea:area;isequivalenttogridrowstart:area;gridcolumnstart:area;gridrowend:area;gridcolumnend:area;}gridline。griditem{gridarea:2;isequivalenttogridrowstart:2;gridcolumnstart:auto;gridrowend:auto;gridcolumnend:auto;}理解此语法
  基于值数量的不同方案更不用说案例乍一看可能看起来很复杂和奇怪。但如果你仔细想想,这一切都是有道理的。
  以以下网格项为例:。griditem{gridarea:243;}
  在这里,省略了gridcolumnend(因为这是一个三值语法),gridcolumnstart设置为4。gridcolumnend属性不能也为4,因为网格项的起始边缘和结束边缘将指向同一行。浏览器不会将起始边缘与4对齐,并将网格项跨越一列作为默认行为。这就是为什么当一条边没有值时,它会设置为自动以防它的另一条边指向带有数值的网格线。
  现在,如果将网格列开始值设置为名称怎么办?例如,用x代替4:。griditem{gridarea:2x3;}
  X值可以是网格线或网格区域的名称。如果有一条名为x的网格线,则网格列端也设置为x,但由于网格项的两个列边缘都指向同一网格线x浏览器的默认行为再次是充当好像网格列结束设置为自动并且网格项跨越一列。
  另一方面,如果存在一个名为x的网格区域,则gridcolumnstart设置为该网格区域的起始边缘,而gridcolumnend设置为其结束边缘。
  当你在代码中看到它时,更容易理解所有这些:。griditem{gridarea:2x3;isequivalenttogridrowstart:2;gridcolumnstart:xstart;gridrowend:3;gridcolumnend:xend;}值Keywordvaluegridarea:auto;customidentvaluegridarea:myarea;gridarea:mainstartsidebarstart;gridarea:mainstartsidebarstartfooterstartmainend;gridarea:line1line2line3line4;integercustomidentvaluesgridarea:3;gridarea:23;gridarea:main2;gridarea:2a4b2x;spanintegercustomidentvaluesgridarea:span3;gridarea:13span25;gridarea:1spanmyline;gridarea:2spangridline3;Globalvaluesgridarea:inherit;gridarea:initial;sameasautogridarea:revert;gridarea:revertlayer;gridarea:unset;auto
  这是默认值。它指示默认范围(1)和自动放置行为,这意味着网格项将自动放置在下一个可用的空网格单元格中。
  此语法允许您使用整数来引用编号的网格线,或使用字符串来引用命名网格线或命名网格区域。换句话说,可以通过网格项边缘的数字索引或名称来指定网格线。按行号定位项目
  每个网格轨道之前和之后都有两条网格线,从数字1开始,自动为其分配一个数字索引。
  演示行和列网格轨道的索引。
  在本文的第一个示例中,我们使用此语法通过索引(2和4)引用第二行和第四行网格线,以将网格项的开始边缘和结束边缘与第二行和第三行的开始边缘和结束边缘对齐。此外,我们参考第四列和第六列网格线,将网格项的开始和结束边缘与第四列和第五列的开始和结束边缘对齐。。griditem:nthchild(2){gridarea:2446;}
  请注意,您也可以使用负数来指代网格线,但它从网格的结束边缘开始计数。以下代码指向上一示例中的相同网格线,但计数相反:。griditem:nthchild(2){gridcolumn:4422;sameas:gridarea:2446;}
  请注意,负整数已分配给我们的网格:
  使用网格区域CSS属性将第二个网格项放入第二行和第三行以及第四列和第五列。按行名定位元素
  您可以使用网格模板列和网格模板行基于线条的放置网格属性为网格线指定自定义名称,以按其名称引用该线。
  让我们回到我们的示例,并像这样命名列和行轨道行:。grid{display:grid;gridtemplaterows:100px〔row2〕100px100px〔row4〕100px;gridtemplatecolumns:1fr1fr1fr〔fourth〕1fr1fr〔secondtolast〕1fr;}
  我们可以通过自定义名称(row2、row4、第四和倒数第二)来引用第三行和第五行,而不是它们的索引值(分别为2、4、4和6):。griditem:nthchild(2){gridarea:row2fourthrow4secondtolast;sameasindexnumbers2446}
  请注意,不能采用span值。span是网格放置属性的保留关键字(例如gridcolumn:1span2)。通过gridareas来定位元素
  使用gridtemplateareas属性定义网格区域时,将根据区域的名称免费获得隐式行名称。例如,名称为content的网格区域在其前面生成一个名为contentstart的行,在其之后生成一个名为contentend的行。您可以参考这些行来设置网格项的位置。。griditem:nthchild(2){gridarea:contentstartcontentstartcontentendcontentend;}
  或者,您可以引用区域的名称,将项目定位在名为area的内容的开始行和结束行:。griditem:nthchild(2){gridarea:content;}
  如下是完整例子bodyheaderheadermainmainasidefooterfooterbodybody{display:grid;gap:16px;gridtemplatecolumns:1fr1fr1fr;gridtemplaterows:mincontent1frmincontent;gridtemplateareas:headerheaderheadercontentcontentsidebarfooterfooterfooter;}header{gridarea:header;}main{gridarea:content;}aside{gridarea:sidebar;}footer{gridarea:footer;}
  这将设置网格元素在网格中的位置,我们希望它们在网格中的位置。
  使用网格区域CSS属性按名称将网格项放入网格区域中。?h1
  这种语法风格允许您在存在重复名称时按网格线定位网格项。如果存在同名的网格线,则此语法有助于指定要引用的网格线。。grid{display:grid;gridtemplatecolumns:〔a〕1fr〔b〕1fr〔b〕1fr〔b〕1fr〔b〕;gridtemplaterows:〔x〕1fr〔y〕1fr〔y〕1fr〔y〕1fr〔y〕;Usingrepeat()functionalsogivesyourepeatednamedgridline,forexample:gridtemplatecolumns:repeat(3,〔b〕1fr);}
  假设您想在行轨道中选择第三行,但该行与第二、第四和最后一个网格线同名它们都称为y。由于名为y的第二行是第三条网格线,因此可以使用2选择它作为起点。在以下示例中,相同的计数方式适用于网格面积的其他值:。griditem:nthchild(2){gridarea:2y3b4y4b;Thisisequivalentto:gridrowstart:2y;gridcolumnstart:3b;gridrowend:4y;gridcolumnend:4b;}
  请注意,值的顺序无关紧要。我们也可以像这样编写前面的代码:。griditem:nthchild(2){gridarea:y2b3y4b4;}
  与前面的语法一样,您也可以使用负整数来计算从网格结束边缘开始的网格线。在我们的示例中,如果我们想引用相同的行,我们可以从网格的结束边缘开始计数并像这样写:。griditem:nthchild(2){gridarea:3y2b1y1b;}
  请注意,整数值不能为零。span〔〕h1
  此语法允许网格项跨越网格轨道。可以通过三种不同的方式指定它。
  请注意,如果未在此语法中的任何位置指定整数,则默认值为1。span
  使用span关键字后跟整数表示网格项从特定网格线跨越的轨道数。例如,如果我们希望网格项跨越三个行轨道和两个列轨道朝向其起始边缘,我们可以应用以下值:。griditem:nthchild(2){gridarea:span3span2;Thisisequivalenttogridrowstart:span3;gridcolumnstart:span2;gridrowend:auto;gridcolumnend:auto;}
  网格项使用网格区域CSS属性跨越两列和三行。span
  还可以将span关键字与网格线的名称组合在一起,以使网格项扩展,直到到达指定的网格线。。griditem:nthchild(3){gridarea:auto3autospanlastline;}
  由于网格项的起始线是已知的(3),我们可以跨越该项,直到它到达名为lastline的列网格线。
  网格项跨越网格,直到它使用网格区域CSS属性到达名为lastline的指定网格线。spanh1
  如果指定的网格线名称分配给多个网格线换句话说,如果我们重复命名的网格线我们需要说出我们想要定位的网格线。为此,我们可以在值中添加一个整数,指定我们引用的网格线。
  以以下网格为例:。gridcontainer{display:grid;gridtemplatecolumns:〔y〕1fr〔x〕1fr〔x〕1fr〔y〕1fr〔x〕1fr〔x〕;}。griditem:nthchild(3){gridarea:224spanx2;}
  我们将网格项的起始行设置为第二列行。然后我们希望它向前跨度,直到它到达名为x的网格线。由于我们希望它是第二条x网格线,因此我们最终得到spanx2。
  因此,我们的网格项从第二行开始,如下图所示。它命中的第一行是第一行x,后跟y,最后,它命中所需的第二行,名为x。
  S使用gridarea属性将网格项的位置从第二列行调整到第二个x命名行。
  当您希望使用网格项的名称将网格项跨越到网格线时,此语法非常有用。但请注意,使用此方法有多个同名的网格线,因此我们添加一个整数来表示我们想要该网格线的N。
  请参阅网格行开始、网格行结束、网格列开始和网格列结束,以获取每个构成属性的详细信息和语法示例。例子
  让我们通过几个例子来演示如何使用网格区域在网格上放置项目。创建多层横幅
  假设此图形是由您的设计团队交给您的:
  他们还提供了另一个版本来向您展示它是在网格上设计的:
  让我们首先设置我们的HTML:figureimgclassbacksrca2020imgdataimg。jpgdatasrcimg02。bs178。comblah3dc39543b30bcb98。jpgaltPleaseimgclassmiddlesrca2020imgdataimg。jpgdatasrcimg02。bs178。comblahdf885e572cc4d7cd。jpgaltfillyouraltimgclassfrontsrca2020imgdataimg。jpgdatasrcimg02。bs178。comblahd724da10e00afbfd。jpgaltproperlyfigcaptionFreedomistheoxygenofthesoul。。。figcaptionfigure
  设计中有十四列九行。我们可以这样写出来:figure{display:grid;gridtemplatecolumns:repeat(14,50px);gridtemplaterows:repeat(9,50px);}
  我们需要将所有这些子元素放入其右侧网格区域中。为此,我们使用网格区域属性:。back{gridarea:1321;}。middle{gridarea:2179;}。front{gridarea:4413;}figcaption{gridarea:3411;}
  您可以在下图中看到结果:
  查看演示以了解有关此示例的更多详细信息:堆叠网格项
  在网格上定位项目时,我们可以将它们堆叠或重叠在一起。这使我们能够有时使用CSS网格作为绝对定位的替代方案。例如,我们可以在不使用位置属性的情况下将标题层放在图像顶部,如下所示:figureimgsrca2020imgdataimg。jpgdatasrcimg02。bs178。comblahbd970f64a6301fa7。jpgalthowdareyouleavealtempty?figcaptionThecaptionofourimagefigcaptionfigurefigure{display:grid;}img,figcaption{gridarea:1111;}
  默认情况下,网格项按源顺序堆叠,但您可以使用zindex属性控制其级别。在下面的示例中,我们重叠了一些项目,我们使用zindex属性将第二个项目带到堆栈上下文中的最高级别:。item:nthchild(2){gridarea:2244;zindex:1;}
  使用zindex属性将第二个网格项置于堆栈顶部。可访问性
  使用网格放置属性时需要注意的一点是重新排列项目引起的问题。更改项目的位置时,只有网格项目的可视顺序会更改,并且该顺序可能与原始文档顺序不同。对于在键盘上按Tab键浏览文档或收听按与HTML相同的顺序读取内容的屏幕阅读器的人来说,这可能会导致非常糟糕的体验。
  因此,当元素的HTML顺序很重要时,请避免更改网格项的顺序。例如,它可能适用于随机图像库,但可能不适用于表单输入。
  但是,在撰写本文时,有一项解决此问题的建议,有望在未来解决这一问题。。grid{gridtemplatecolumns:gridtemplaterows:}。item:nthchild(3){gridarea:}

分享一条去秦岭玩的快捷路线,50分钟就可以从车城花园到子午峪相信在西安或者去西安玩的人,都要面临一个难题;西安好玩的地方大多在秦岭,但是去秦岭又没有地铁。比如我这种在西安最北面,泾渭这边要去秦岭坐公交需要4个小时,就在前不久,竟然……50万股票50万存款50万房产,10年后谁的收益能完胜?在今天,对于大部分人来说都想要有一笔不小的存款。那么我们有了存款后要如何去利用这笔钱呢?有的人可能去游山玩水,有的可能暂时储存起来,以备不时之需。不过从古至今,我们都习惯……美好周末,来福田露营吧!2023深圳公园文化季亲子帐篷文化节来了!地点:深圳市儿童乐园时间:2023年4月15日4月16日(本周末)14:0020:00详情请看这个周末,带上好……小学生作文爸爸的毛,爸爸看后被气吐血都是手机惹的祸随着时代的发展,人们的生活水平也得到了进步,并且现在的学生,也是一代比一代幸福,毕竟现在的生活条件好了。可是不得不说现在的小学生也失去了很多的童年,对于现在的小学生来讲,……记忆中的大公共汽车(1)童年中最熟悉的大公共汽车每当看到这熟悉的画面,都勾起我不少旧时的回忆。80年代的大公共汽车,真是一直陪伴了我的成长。上幼儿园之前,我一直生活在西城区政协礼堂西侧的武……花开似铃铛,吉祥又如意,在汝城县千米高山上拍到这些可可爱爱的前段时间,在汝城县井坡镇海拔1355米的高山上,发现几棵少见的齿缘吊钟花惊艳绽放,垂吊的花瓣如佛塔的坠铃一般,摇动、沉吟。齿缘吊钟花别名:白吊钟、九骨筋、山枝仁、野支子,……美国情报泄密是自编自导的谍战大片吗?俄罗斯说一出假戏文郭一鸣刚过去的复活节有两件很开心的事情。笔者与一班朋友三年前的贵州之约,终于成行。西九龙直达省会贵阳,六个多小时高铁车程,途经广东肇庆、广西桂林等站。四天三夜,我们驱车……李春江被动下课!父子集体失业,机关算尽太聪明,反误了卿卿性命终于,中国篮协迫于压力,对江苏队与上海队打假球一事做出了处罚。这张罚单,可谓是CBA历史之最。被取消比赛资格,这是意料之中的事情。被罚款,也算得上是连带处罚。与此同时,李……出现勃起功能障碍,记住了可千万不能大补中医出现勃起功能障碍,可千万不能大补。李秋贵,北京医院主任医师。就是我有点勃起功能阵碍。多长时间了?一个月了。平时喝酒吗?就喝的不多的。平时夫妻生活多吗?一周一次,那还可以?……电影爱很美味热映白恩展现成熟男性魅力获赞剧抛脸近日,由陈正道、许肇任执导,李纯、张含韵、王菊领衔主演,任彬、张帆、尹浩宇、白恩等主演的都市爱情电影《爱很美味》正在热映。从剧版延续至影版,美味三姐妹的故事仍在继续,铁打的姐妹……普通的食材,低廉的成本,鲜香的味道,清淡爽口的炒合菜,好吃炒合菜是一道传统的北京特色菜,对于以前来说这只能在春天出现的菜肴,但对于现在来说,一年四季都可以有,只要口袋有银子,就没有买不到的食物。炒合菜主要是用来卷春饼,这是最佳的组合搭……双雄2战2冠,1人进历史前3!澳大利亚泳坛零零后撑起一片天2023年澳大利亚游泳锦标赛第二比赛日战罢,两位零零后各自收获第2枚金牌,19岁的MollieO’Callaghan跻身全国历史第三。JennaForrester将自己的……
2000年悉尼奥运会王丽萍夺冠,教练组却提前离场,连国旗都没2000年悉尼奥运会王丽萍夺冠,教练组却提前离场,连国旗都没留如今的大众,对于四年一度的世界体育盛事,奥运会,都非常的关注。然而在早年的时候,那个时候网络媒体还没有这么发……众星扎堆海南过年!李小璐海边穿背心秀身材,叶静农场摘芒果吃1月21日,巩汉林演员儿媳黄一惠在个人社交账号上分享了一组照片,曝光了一家人在海南生活的日常。黄一惠一家本来住在北京,临近春节他们来到了海南过年,享受阳光与沙滩。照片中,……2023全球人工智能开发者先锋大会倒计时开启,十大亮点抢先看2023全球人工智能开发者先锋大会(GAIDC)将于2023年2月25日26日在上海举行。本届大会包括:立足上海面向全球AI开发者年度顶级盛会、全球人工智能领域顶级大咖云集推动……禁酒令再次来袭,白酒股价迎来暴跌,廉价酒时代到来了吗近期随着2023年新的禁酒令的发布,在白酒界瞬间引起轩然大波,部分大众知名的白酒品牌一夜之间股价暴跌,如茅台、五粮液的股价下跌更严重,创历史新低。此时,就会有不少酒友猜测……晨读从惯性中抽离从这样生活的惯性中抽离出来,就像是比赛时教练的技术暂停,可以打破一种生活原有的节奏。某个周日,一好友突然微信我,说自己一个人已在去神仙居的路上。她为此,早上五点多就起来,……剑指名人王者归来八连胜柯洁预判了杨楷文的预判戏剧性翻盘4月3日,第33届名人战挑战者赛决赛在柯洁与杨楷文之间展开。在半决赛中,柯洁淘汰了连笑,杨楷文淘汰了党毅飞。杨楷文是2022年的大黑马,曾经在2022年的大国手杯比赛中,淘汰过……渐变色真抢眼!Longchamp这款手袋设计陪你夏日来临Longchamp的LePliageFilet手袋令人着迷,容量大且极为轻便,搭配服饰足以画龙点晴。如今夏日将到,Longchamp也顺势为LePliageFilet換上新装,……中东迷踪必逛博物馆合辑世界级建筑与馆藏一网打尽当我们惊叹于中东国家前卫而奇幻的城市建筑时不难发现,那些使用了大胆设计、顶级设计师、投资没有上限的城市项目,有很大一部分是博物馆。为什么要在城市里不停兴建博物馆,是因为文……20个超级有趣的饮食冷知识,让你大开眼界!1。辣不是一种味道,而是一种痛觉。当你觉得辣的时候,其实是辣椒素刺激细胞,在大脑中形成了类似于灼烧的微量刺激的感觉,并不是由味蕾感受到的。2。猪身上脂肪最高的不是五花,而……梦百合杯世界围棋公开赛中国区预选赛将决出23个名额新华社南京3月21日电(记者王恒志)第五届梦百合杯世界围棋公开赛中国区预选赛将于22日在江苏如皋展开角逐,柯洁、范廷钰等216位男子职业棋手和66位女子职业棋手、16位业余棋手……死亡空间重制版新预告人类终结于此!反派露面EAMotive工作室今日公布了《死亡空间:重制版》的新预告,标题为人类终结于此,带来了大量全新画面,一起来看下。视频中首次出现原版中的其中一位反派角色查尔斯梅森(Cha……三天不打,上房揭瓦,娃真的是多动症吗?没有这些症状都是瞎扯常言道,充电五分钟,放电十小时。如果家里有一个精力旺盛的孩子,那么家长们也不用干其它事了,天天跟在娃的屁股后面收拾东西就够累了。家里的玩具到处都是,客厅没有地方走路,一进……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网