CSS - grid-template 属性



CSS grid-template 是一个简写属性,用于指定网格列、网格行和网格区域。

grid-template 属性是以下各个网格相关属性的简写:

可能的值

您不能在这些轨道列表中使用 repeat() 函数,因为轨道必须与“ASCII 艺术”中的行和列完全匹配。

grid 速记属性的工作方式与 grid-template 属性相同,并将隐式网格属性重置为其默认值。您可以使用 grid 而不是 grid-template 来避免这些值的单独级联。

适用于

网格容器。

DOM 语法


object.style.gridTemplate = "none|<grid-template-rows> / <grid-template-columns>|[ <line-names>? <string> <track-size>? <line-names>? ]+ [ /<explicit-track-list> ]?";

CSS 网格模板 - none值

以下示例演示了 grid-template: none 属性根据内容自动排列行和列 -


<html>
<head>
<style>
	 	.grid-container {
	 	 	 display: grid;
	 	 	 grid-template: none;
	 	 	 color: white;
	 	 	 text-align: center;
	 	 	 width: 360px;
	 	 	 background-color: lightgreen;
	 	}
	 	.grid-container > div {
	 	 	 background-color: red;
	 	 	 border: 2px solid lightgreen;
	 	 	 padding: 5px;
	 	}
</style>
</head>
<body>
	 	<div class="grid-container">
	 	 	 <div>Grid item 1</div>
	 	 	 <div>Grid item 2</div>
	 	 	 <div>Grid item 3</div>
	 	 	 <div>Grid item 4</div>
	 	</div>
</body>
</html>

CSS 网格模板 - <grid-template-rows> / <grid-template-columns>

以下示例演示了包含两行(高度为 100px 和 50px)以及两列(宽度为 150px 和 300px)的网格布局。


<html>
<head>
<style>
	 	.grid-container {
	 	 	 display: grid;
	 	 	 grid-template: 100px 50px / 150px 300px;
	 	 	 color: white;
	 	 	 text-align: center;
	 	 	 background-color: lightgreen;
	 	}
	 	.grid-container > div {
	 	 	 background-color: red;
	 	 	 border: 2px solid lightgreen;
	 	 	 padding: 5px;
	 	}
</style>
</head>
<body>
	 	<div class="grid-container">
	 	 	 <div>Grid item 1</div>
	 	 	 <div>Grid item 2</div>
	 	 	 <div>Grid item 3</div>
	 	 	 <div>Grid item 4</div>
	 	</div>
</body>
</html>

CSS grid-template - 模板设计

以下示例演示了响应式结构化网页布局。网格布局包含导航栏、左右部分以及页脚 -


<html>
<head>
<style>
	 	.navbar {
	 	 	 background-color: lightgreen;
	 	 	 grid-area: nav;
	 	}
	 	.left {
	 	 	 background-color: pink;
	 	 	 grid-area: left;
	 	}
	 	.right {
	 	 	 background-color: violet;
	 	 	 grid-area: right;
	 	}
	 	.footer {
	 	 	 background-color: lightgreen;
	 	 	 grid-area: footer;
	 	}
	 	.grid-box {
	 	 	 display: grid;
	 	 	 width: 100%;
	 	 	 height: 300px;
	 	 	 grid-template:
	 	 	 	 	"nav nav" 40px	
	 	 	 	 	"right left" 200px
	 	 	 	 	"footer footer" 40px;
	 	 	 padding: 5px;
	 	}
</style>
</head>
<body>
	 	<div class="grid-box">
	 	 	 <div class="navbar">Navbar</div>
	 	 	 <div class="left">Left Section</div>
	 	 	 <div class="right">Right Section</div>
	 	 	 <div class="footer">Footer</div>
	 	</div>
</body>
</html>

CSS grid-template - 相关属性

以下是与 grid-template 属性相关的 CSS 属性列表:

属性
grid-template-columns 指定用于确定网格列大小的网格线和函数的名称。
grid-template-rows 指定用于确定网格行大小的网格线和函数的名称。
grid-template-area 指定用于确定网格区域大小的网格线和函数的名称。