城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

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

10月22日 六壬会投稿
  gridareaCSS属性是一种简写,它通过在一个声明中设置网格行开始、网格列开始、网格行结束和网格列结束的值来指定网格布局中网格项的位置和大小。。gridcontainer{display: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:gridrowend:4;gridcolumnend:}gridline。griditem{gridarea:243;isequivalentto:gridrowstart:2;gridcolumnstart:4;gridrowend:3;gridcolumnend:}设置两个值
  第一个值设置网格行开始属性。如果值为。否则,网格行结束设置为自动。第二个值设置网格列开始属性。如果值为。否则,网格列端设置为auto。customident。griditem{gridarea:area4;isequivalenttogridrowstart:gridcolumnstart:4;gridrowend:gridcolumnend:}anothercustomidentexample。griditem{gridarea:isequivalenttogridrowstart:gridcolumnstart:gridrowend:gridcolumnend:}gridline。griditem{gridarea:24;isequivalenttogridrowstart:2;gridcolumnstart:4;gridrowend:gridcolumnend:}设置1个值
  customident。griditem{gridarea:isequivalenttogridrowstart:gridcolumnstart:gridrowend:gridcolumnend:}gridline。griditem{gridarea:2;isequivalenttogridrowstart:2;gridcolumnstart:gridrowend:gridcolumnend:}理解此语法
  基于值数量的不同方案更不用说案例乍一看可能看起来很复杂和奇怪。但如果你仔细想想,这一切都是有道理的。
  以以下网格项为例:。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:gridrowend:3;gridcolumnend:}值Keywordvaluegridarea:customidentvaluegridarea:gridarea:gridarea:gridarea:line1line2line3line4;integercustomidentvaluesgridarea:3;gridarea:23;gridarea:main2;gridarea:2a4b2x;spanintegercustomidentvaluesgridarea:span3;gridarea:13span25;gridarea:1gridarea:2spangridline3;Globalvaluesgridarea:gridarea:sameasautogridarea:gridarea:gridarea:auto
  这是默认值。它指示默认范围(1)和自动放置行为,这意味着网格项将自动放置在下一个可用的空网格单元格中。
  此语法允许您使用整数来引用编号的网格线,或使用字符串来引用命名网格线或命名网格区域。换句话说,可以通过网格项边缘的数字索引或名称来指定网格线。按行号定位项目
  每个网格轨道之前和之后都有两条网格线,从数字1开始,自动为其分配一个数字索引。
  演示行和列网格轨道的索引。
  在本文的第一个示例中,我们使用此语法通过索引(2和4)引用第二行和第四行网格线,以将网格项的开始边缘和结束边缘与第二行和第三行的开始边缘和结束边缘对齐。此外,我们参考第四列和第六列网格线,将网格项的开始和结束边缘与第四列和第五列的开始和结束边缘对齐。。griditem:nthchild(2){gridarea:2446;}
  请注意,您也可以使用负数来指代网格线,但它从网格的结束边缘开始计数。以下代码指向上一示例中的相同网格线,但计数相反:。griditem:nthchild(2){gridcolumn:4422;sameas:gridarea:2446;}
  请注意,负整数已分配给我们的网格:
  使用网格区域CSS属性将第二个网格项放入第二行和第三行以及第四列和第五列。按行名定位元素
  您可以使用网格模板列和网格模板行基于线条的放置网格属性为网格线指定自定义名称,以按其名称引用该线。
  让我们回到我们的示例,并像这样命名列和行轨道行:。grid{display:gridtemplaterows:100px〔row2〕100px100px〔row4〕100gridtemplatecolumns:1fr1fr1fr〔fourth〕1fr1fr〔secondtolast〕1}
  我们可以通过自定义名称(row2、row4、第四和倒数第二)来引用第三行和第五行,而不是它们的索引值(分别为2、4、4和6):。griditem:nthchild(2){gridarea:row2fourthrow4sameasindexnumbers2446}
  请注意,不能采用span值。span是网格放置属性的保留关键字(例如gridcolumn:1span2)。通过gridareas来定位元素
  使用gridtemplateareas属性定义网格区域时,将根据区域的名称免费获得隐式行名称。例如,名称为content的网格区域在其前面生成一个名为contentstart的行,在其之后生成一个名为contentend的行。您可以参考这些行来设置网格项的位置。。griditem:nthchild(2){gridarea:}
  或者,您可以引用区域的名称,将项目定位在名为area的内容的开始行和结束行:。griditem:nthchild(2){gridarea:}
  如下是完整例子bodyheaderheadermainmainasidefooterfooterbodybody{display:gap:16gridtemplatecolumns:1fr1fr1gridtemplaterows:mincontent1gridtemplateareas:}header{gridarea:}main{gridarea:}aside{gridarea:}footer{gridarea:}
  这将设置网格元素在网格中的位置,我们希望它们在网格中的位置。
  使用网格区域CSS属性按名称将网格项放入网格区域中。?h1
  这种语法风格允许您在存在重复名称时按网格线定位网格项。如果存在同名的网格线,则此语法有助于指定要引用的网格线。。grid{display: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:gridcolumnend:}
  网格项使用网格区域CSS属性跨越两列和三行。span
  还可以将span关键字与网格线的名称组合在一起,以使网格项扩展,直到到达指定的网格线。。griditem:nthchild(3){gridarea:auto3}
  由于网格项的起始线是已知的(3),我们可以跨越该项,直到它到达名为lastline的列网格线。
  网格项跨越网格,直到它使用网格区域CSS属性到达名为lastline的指定网格线。spanh1
  如果指定的网格线名称分配给多个网格线换句话说,如果我们重复命名的网格线我们需要说出我们想要定位的网格线。为此,我们可以在值中添加一个整数,指定我们引用的网格线。
  以以下网格为例:。gridcontainer{display: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:figureimgclassbacksrcc2021imgdataimg。jpgdatasrcimgq01。71396。comblaj3dc39543b30bcb98。jpgaltPleaseimgclassmiddlesrcc2021imgdataimg。jpgdatasrcimgq01。71396。comblajdf885e572cc4d7cd。jpgaltfillyouraltimgclassfrontsrcc2021imgdataimg。jpgdatasrcimgq01。71396。comblajd724da10e00afbfd。jpgaltproperlyfigcaptionFreedomistheoxygenofthesoul。。。figcaptionfigure
  设计中有十四列九行。我们可以这样写出来:figure{display:gridtemplatecolumns:repeat(14,50px);gridtemplaterows:repeat(9,50px);}
  我们需要将所有这些子元素放入其右侧网格区域中。为此,我们使用网格区域属性:。back{gridarea:1321;}。middle{gridarea:2179;}。front{gridarea:4413;}figcaption{gridarea:3411;}
  您可以在下图中看到结果:
  查看演示以了解有关此示例的更多详细信息:堆叠网格项
  在网格上定位项目时,我们可以将它们堆叠或重叠在一起。这使我们能够有时使用CSS网格作为绝对定位的替代方案。例如,我们可以在不使用位置属性的情况下将标题层放在图像顶部,如下所示:figureimgsrcc2021imgdataimg。jpgdatasrcimgq01。71396。comblajbd970f64a6301fa7。jpgalthowdareyouleavealtempty?figcaptionThecaptionofourimagefigcaptionfigurefigure{display:}img,figcaption{gridarea:1111;}
  默认情况下,网格项按源顺序堆叠,但您可以使用zindex属性控制其级别。在下面的示例中,我们重叠了一些项目,我们使用zindex属性将第二个项目带到堆栈上下文中的最高级别:。item:nthchild(2){gridarea:2244;zindex:1;}
  使用zindex属性将第二个网格项置于堆栈顶部。可访问性
  使用网格放置属性时需要注意的一点是重新排列项目引起的问题。更改项目的位置时,只有网格项目的可视顺序会更改,并且该顺序可能与原始文档顺序不同。对于在键盘上按Tab键浏览文档或收听按与HTML相同的顺序读取内容的屏幕阅读器的人来说,这可能会导致非常糟糕的体验。
  因此,当元素的HTML顺序很重要时,请避免更改网格项的顺序。例如,它可能适用于随机图像库,但可能不适用于表单输入。
  但是,在撰写本文时,有一项解决此问题的建议,有望在未来解决这一问题。。grid{gridtemplatecolumns:gridtemplaterows:}。item:nthchild(3){gridarea:}
投诉 评论 转载

对智能化产品接受度高95后将成智能网联汽车消费主力军95后将成为智能网联汽车消费主力军除了集中呈现1场开幕式暨主论坛、7场主题峰会、6个特色专场、1场闭门会和1场实地调研活动,2022世界智能网联汽车大会还展出了《国内外智……郭明錤苹果或加大iPhone15Pro及ProMax之间差异【郭明錤:苹果或加大iPhone15Pro及ProMax之间差异】《科创板日报》29日讯,知名苹果分析师郭明錤表示,iPhone14Pro系列加单中,ProMax订单约占60,……他16岁瞒着父母参加红军,18年后成副司令返乡,母亲长官你找引言1947年的某一天,一个穿着解放军军装的战士来到湖北黄安县。在众人疑惑的目光当中,他来到一户破败的茅草屋前。犹豫了许久之后,他才终于下定决心敲响房门。看到一位白……老年公交乘车卡主要功能是为了照顾老年人还是为了促进公交的发展从主观上看是给老年人们的一个福利待遇,关心老年人,使老年人乘车方便,想走哪里,用不着走路就能古去哪里。既方便又减少了一些乘车方面的额外开支,无形地增加了老人们的经济收入,使老年……从深圳出来的明星都有哪些?1。曾泳醍1988年5月24日出生于广东省深圳市,籍贯四川省成都市,中国内地女演员,毕业于中央戏剧学院表演系音乐剧专业。2010年,参演由赵宝刚执导的家庭伦理剧《婚……如何使用CSS新语法gridarea来设置网格布局gridareaCSS属性是一种简写,它通过在一个声明中设置网格行开始、网格列开始、网格行结束和网格列结束的值来指定网格布局中网格项的位置和大小。。gridcontainer{……民国神算子13岁上北大,算中袁世凯徐志摩死期,最终算死自己文掘密探索家编辑掘密探索家究竟是天意难违,还是人定胜天,古往今来,无数人为了找寻自己的命运陷入疯魔,而命运是天意还是人为,直到现在也有人在争论不休。民国有一奇……2008年的法医鉴定说光绪皇帝死于砒霜中毒,能否作为慈禧杀害光绪三十四年(1908年)十月,被囚禁于瀛台的光绪帝和统治晚清长达半世纪之久的慈禧太后,前后相继离世,相隔仅22小时。而关于光绪帝的死因,则就此成为了一桩历史谜案,而慈禧太后便……万向信托总裁王永刚以信托形式参与慈善事业有三大制度优势视频加载中。。。21世纪经济报道记者朱英子北京报道信托参与慈善事业有何制度优势?慈善信托如何促进共同富裕?12月23日,万向信托总裁王永刚在第十七届亚洲金融年会特色……首都故事。一个国家三个首都,关于各国首都的奇怪知识中国的首都是北京,这没什么可说的,可总有一些国家喜欢整活,有的国家没有首都,有的国家有三个首都;有的国家的首都享有特权,有的国家的的首都特没权。1,日本没有首都日本……云南大学胡凤益教授团队多年生稻研究论文发表于国际知名学术期刊云南网讯(记者陈云芬实习生张馨月)11月7日,云南大学胡凤益团队联合国内外相关团队在国际知名学术期刊NatureSustainability(《自然可持续性》)发表了题为多年生……商家推小羊人套餐,抖机灵营销要不得近日,关于有商家推出小羊人套餐被质疑抖机灵的话题进入微博热搜。涉事的连锁粥店在深圳、东莞、福州等多地的门店推出小羊人套餐,套餐主要分为三种样式,内含白粥、蒸饺、燕麦粥、枣糕等。……
为什么越来越多的人后悔在农村建房,假如是你,该怎样选择?大国工匠助力智造未来,2022年中国汽车年度总评12月6日华东方的路修过来了,莫迪压力越来越大,印度耀武扬威的时间不多了孩子喜欢画画,该让她坚持这条路吗?大汉奸李士群被日本人毒杀,妻子不服,日本人你和丈夫手下通奸您如何评价世预赛中国男篮双杀日本?用新的伟大奋斗创造新的伟业二十大代表继续分组讨论二十大报告补钙不能图省事儿!各个年龄段的补钙重点大有不同真就反向男足?韩媒感叹战平中国女足,这味道熟悉了个体工商户,没有员工,还需要交社保吗?联想如何突围?超发即是贬值,通话无需膨胀
摄影机和摄像机的区别海竿用几号线大智若愚深藏不露个人租房合同翠鸟三课时公开课教案孩子岁前最好不要切除扁桃体打破垄断!全球领先!这7位上市公司500强领头羊,全来自中南【歌词】美丽的相逢歌手:龙千玉热闻聚热点网 四股蝎子辫编法图解员工知识产权保护协议应该怎么写校企深度合作产教贯通融合的数控技术人才培养创新研环保演讲稿

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁