CSS Grid Layout是一种允许创建网格的W3C技术。它不需要使用浮动,表格,绝对定位甚至flexbox(另一种CSS3技术)来构建各种网格,从简单到复杂。一般情况下,请勿将此标记用于CSS网格系统。
我有一个 3 列和 6 行的网格。在这个网格里面有动态元素,它们可以有不同的大小。但是我希望我的网格在元素位于...时占据屏幕的高度...
我正在使用 CSS 网格来设计我的网站。但是,当我添加背景颜色(希望它能覆盖整个网格)时,它只覆盖了每个网格项目中的一部分。这是 CSS 网格
如何使用 CSS Grid 和 Flexbox 创建流畅且高性能的布局? [关闭]
我目前正在从事一个 Web 项目,该项目需要包含多个部分和元素的复杂布局。我想使用 CSS Grid 和 Flexbox 来实现这一点,但我不确定如何创建一个流畅的...
我想为我的网格模板列设置 minmax 属性。但出于某种原因,我没有让它工作。 这是我的代码: 。开始 { 宽度:100%; 显示:网格; 网格模板列:
我在容器网格中有 n 个子项,每个子项可以有不同的宽度。 我想将它们排列在 css 网格中,使每个列的宽度相等。 列的宽度将是最大值...
好的,情况是这样的,假设我有一个项目数量未知的列表,它可能是 10 或 100,我想将它们排列成从上到下而不是从左到右的 3 列。 现在我...
我正在尝试使 CSS 网格自动调整最终元素集的大小,以便在条目数量与列数不匹配时自动填充最后一行。 见图:
我想使用 CSS 来定义一组流动以填充页面宽度的图像。我希望图像根据页面的宽度而变化,比如 100px 和 125px。如果...的宽度...
我目前正在为一个网站创建一个登陆页面,其中一个部分使用了 flex 显示。在这个部分下面,我想为另一个部分创建一个网格,但是内容正在变化......
我有一定数量的 div,里面有文字。 div 的数量事先是未知的。我想在网格中排列文本,使每个列的宽度等于所有文本的最大内容...
在我尝试创建一个带有 svg 图像的响应式网格区域时,我遇到了奇怪的行为,例如任意网格区域宽度,并且无法让图像增长或缩小到某个......
我想要一个看起来像这样的网格图片库(抱歉图片不好)css 网格图片库,我使用网格模板区域来实现这一点。 这是我的代码 HTML 我想要一个看起来像这样的网格图片库(抱歉图像不好),我使用grid-template-areas来实现它。 这是我的代码 HTML <main class="main"> <div id="CannelliniBean"> <img src="images/1.png" alt="" class="dishImg" /> </div> <div id="Cauliflower"> <img src="images/2.png" alt="" class="dishImg" /> </div> <div id="BerryBanana"> <img src="images/3.png" alt="" class="dishImg" /> </div> <div id="RedLentilSoup"> <img src="images/4.png" alt="" class="dishImg" /> </div> <div id="Asparagus"> <img src="images/5.png" alt="" class="dishImg" /> </div> <div id="GarlickyKale"> <img src="images/6.png" alt="" class="dishImg" /> </div> <div id="SlowCooker"> <img src="images/7.png" alt="" class="dishImg" /> </div> <div id="Jambalaya"> <img src="images/8.png" alt="" class="dishImg" /> </div> <div id="ChickenFajita"> <img src="images/9.png" alt="" class="dishImg" /> </div> <div id="Hummus"> <img src="images/10.png" alt="" class="dishImg" /> </div> </main> CSS .main { padding: 7% 15%; display: grid; grid-template-areas: "CannelliniBean Cauliflower BerryBanana" "RedLentilSoup Cauliflower Asparagus" "GarlickyKale SlowCooker ChickenFajita" ". Jambalaya Hummus ."; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); } #CannelliniBean { grid-area: CannelliniBean; } #Cauliflower { grid-area: Cauliflower; } #BerryBanana { grid-area: BerryBanana; } #RedLentilSoup { grid-area: RedLentilSoup; } #Asparagus { grid-area: Asparagus; } #GarlickyKale { grid-area: GarlickyKale; } #SlowCooker { grid-area: SlowCooker; } #Jambalaya { grid-area: Jambalaya; } #ChickenFajita { grid-area: ChickenFajita; } #Hummus { grid-area: Hummus; } 然而,图像最终出现在完全相同的位置!!,在某种程度上,只显示了一张图像,而它后面的所有其他图像都在相同的确切位置,这里发生了什么? 试试这个。调一下顺序就好了。查看 grid-column 和 grid-row 属性,您可以使用它们明确告诉 css 如何在网格中定位您的项目。此外,创建一个包含 6 列的网格允许您将最后 2 个项目放在中间。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> .main { padding: 7% 15%; display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(4, 1fr); } #CannelliniBean { height: 50px; background-color: red; grid-column: 1 / 3; grid-row: 1; } #Cauliflower { height: 100px; background-color: green; grid-column: 3 / 5; grid-row: 1 / span 2; } #BerryBanana { height: 50px; background-color: blue; grid-column: 5 / 7; grid-row: 1; } #RedLentilSoup { height: 50px; background-color: orange; grid-column: 1 / 3; grid-row: 2; } #Asparagus { height: 50px; background-color: orangered; grid-column: 5 / 7; grid-row: 3; } #GarlickyKale { height: 50px; background-color: magenta; grid-column: 5 / 7; grid-row: 2; } #SlowCooker { height: 50px; background-color: green; grid-column: 1 / 3; grid-row: 3; } #Jambalaya { height: 50px; background-color: yellow; grid-column: 3 / 5; grid-row: 3; } #ChickenFajita { height: 50px; background-color: rgb(212, 26, 199); grid-column: 2 / 4; grid-row: 4; } #Hummus { height: 50px; background-color: orange; grid-column: 4 / 6; grid-row: 4; } </style> </head> <body> <main class="main"> <div id="CannelliniBean"> <img src="images/1.png" alt="" class="dishImg" /> </div> <div id="Cauliflower"> <img src="images/2.png" alt="" class="dishImg" /> </div> <div id="BerryBanana"> <img src="images/3.png" alt="" class="dishImg" /> </div> <div id="RedLentilSoup"> <img src="images/4.png" alt="" class="dishImg" /> </div> <div id="Asparagus"> <img src="images/5.png" alt="" class="dishImg" /> </div> <div id="GarlickyKale"> <img src="images/6.png" alt="" class="dishImg" /> </div> <div id="SlowCooker"> <img src="images/7.png" alt="" class="dishImg" /> </div> <div id="Jambalaya"> <img src="images/8.png" alt="" class="dishImg" /> </div> <div id="ChickenFajita"> <img src="images/9.png" alt="" class="dishImg" /> </div> <div id="Hummus"> <img src="images/10.png" alt="" class="dishImg" /> </div> </main> </body> </html>
我最近问了一个关于将任意宽度应用于内部有 svg 图像的网格列的问题。你可以在这里找到。在提出问题的同时解决了另一个问题......
为什么当我将 svg 图像放置在带有 auto 的网格列中时,网格列的宽度似乎是任意的。我怎样才能让网格列适合图像允许 div 填充...
我需要使用网格布局,但还需要一条水平线分隔每一行。 我唯一能找到的是为每个单元格应用边框,但这只有在有足够的 ce...
我正在尝试使用网格构建一个包含三个元素的简单页面。我有两列和两行,我可以让一切都相对合适但并不完美。本来我有一个...
我想使用 css(flexbox 或 gird)创建一个网格,但我不确定如何达到预期的效果。我希望我的网格是灵活的,所以我可以决定最终的外观,这就是为什么我...
我想实现一个布局,它有两列适合屏幕的高度。 左列有两行,每一行占可见可用高度的 50%(没有固定高度,它显示...
我已经做了大约 4 年的 Web 开发人员,我一直非常倾向于使用 flex box 而不是 grid。我确定我拥有的原因是因为这是我最初学到的东西并且它是......
我有一个包含一堆动态元素的列表。我想改变他们自己订购的方式。 这是我所拥有的: ul { 显示:网格; 网格模板列:1fr 1fr; } ... 我有一个包含一堆动态元素的列表。我想改变他们自己订购的方式。 这是我所拥有的: ul { display: grid; grid-template-columns: 1fr 1fr; } <ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> <li>F</li> <li>G</li> <li>H</li> <li>I</li> <li>J</li> </ul> 这是我的预期结果: 我可以通过以下方式实现: ul { grid-auto-flow: column; grid-template-rows: repeat(5, 1fr); } 但是注意这里的5很麻烦,因为这个幻数是li数的一半。有什么办法让它动态工作吗?让它与任意数量的 li? 一起工作 我也尝试在order上玩li但没有成功。有的东西: li:nth-child(even) { order: 1; /* or -1 etc. */ } 我正在寻找一个CSS解决方案。我不想依赖JS或改变HTML. column-count应该做的伎俩: ul { column-count: 2; } 试试看: ul { column-count: 2; } <ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> <li>F</li> <li>G</li> <li>H</li> <li>I</li> <li>J</li> </ul>