CSS 属性

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

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

属性值

您不能在这些轨道列表中使用repeat()函数,因为轨道必须与行和列匹配完全符合"ASCII 艺术"。
网格简写属性的工作方式与 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 grid-template: 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: <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 指定网格线的名称和确定网格区域大小的函数。