From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/css/grid-template-areas/index.html | 214 +++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 files/zh-cn/web/css/grid-template-areas/index.html (limited to 'files/zh-cn/web/css/grid-template-areas') diff --git a/files/zh-cn/web/css/grid-template-areas/index.html b/files/zh-cn/web/css/grid-template-areas/index.html new file mode 100644 index 0000000000..ac9197b0f5 --- /dev/null +++ b/files/zh-cn/web/css/grid-template-areas/index.html @@ -0,0 +1,214 @@ +--- +title: grid-template-areas +slug: Web/CSS/grid-template-areas +tags: + - CSS + - CSS属性 + - CSS布局 + - CSS网格 +translation_of: Web/CSS/grid-template-areas +--- +

grid-template-areas CSS 属性是网格区域 {{glossary("grid areas")}} 在CSS中的特定命名。

+ +
{{EmbedInteractiveExample("pages/css/grid-template-areas.html")}}
+ + + + + +

网格区块(grid areas)和网格项(grid item)沒有关联,但是它们可以和一些网格定位属性(grid-placement properties)关联起来,比如{{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-column-start")}}和{{cssxref("grid-column-end")}};也可以和一些速记(shorthands)属性关联起来,比如{{cssxref("grid-row")}},{{cssxref("grid-column")}} 和 {{cssxref("grid-area")}}。

+ +

Syntax[语法]

+ +
/* Keyword value */
+grid-template-areas: none;
+
+/* <string> values */
+grid-template-areas: "a b"; /* 一行 两列 */
+grid-template-areas: "a b b"
+                     "a c d"; /* 两行 三列 */
+
+/* Global values */
+grid-template-areas: inherit; /* 继承 */
+grid-template-areas: initial; /* 默认值 */
+grid-template-areas: unset; /* 未设置 */
+
+ +

 Values[可选值]

+ +
+
none
+
网格容器没有定义任何的网格区块(grid areas)。
+
{{cssxref("<string>")}}+
+
每一个给定的字符串会生成一行,一个字符串中用空格分隔的每一个单元(cell)会生成一列。多个同名的,跨越相邻行或列的单元称为网格区块(grid area)。非矩形的网格区块是无效的。
+
+ +

形式化语法

+ +
{{csssyntax}}
+ +

例子

+ +

HTML

+ +
<section id="page">
+  <header>Header</header>
+  <nav>Navigation</nav>
+  <main>Main area</main>
+  <footer>Footer</footer>
+</section>
+ +

CSS

+ +
#page {
+  display: grid; /* 1.设置display为grid */
+  width: 100%;
+  height: 250px;
+  grid-template-areas: "head head"
+                       "nav  main"
+                       "nav  foot"; /* 2.区域划分 当前为 三行 两列 */
+  grid-template-rows: 50px 1fr 30px; /* 3.各区域 宽高设置 */
+  grid-template-columns: 150px 1fr;
+}
+
+#page > header {
+  grid-area: head; /* 4. 指定当前元素所在的区域位置, 从grid-template-areas选取值 */
+  background-color: #8ca0ff;
+}
+
+#page > nav {
+  grid-area: nav;
+  background-color: #ffa08c;
+}
+
+#page > main {
+  grid-area: main;
+  background-color: #ffff64;
+}
+
+#page > footer {
+  grid-area: foot;
+  background-color: #8cffa0;
+}
+
+ +

结果

+ +

{{ EmbedLiveSample('例子', '100%', '250px', '', 'Web/CSS/grid-template-areas') }}

+ +

规范

+ + + + + + + + + + + + + + + + +
规范状态说明
{{SpecName("CSS3 Grid", "#propdef-grid-template-areas", "grid-template-areas")}}{{Spec2("CSS3 Grid")}}Initial definition
+ +

{{cssinfo}}

+ +

浏览器兼容性

+ + + +

{{Compat("css.properties.grid-template-areas")}}

+ +

[1] 从Chrome 29.0 开始支持,在 chrome://flags 中打开"开启实验性网络平台特性"(experimental Web Platform features)。从 Chrome {{CompatChrome("57.0")}} 开始默认开启。

+ +

[2] 从Gecko 40.0 {{geckoRelease("40.0")}} 开始支持, 在设置中打开layout.css.grid.enabled,默认是 false。从Gecko 52.0 {{geckoRelease("52.0")}}开始默认开启。

+ +

[3] EdgeHTML 16已支持。Internet Explorer 和 Edge 实现了一个旧版本的规范,旧的规范中没有定义这个属性。

+ +

[4] 从 Opera 28.0开始支持,在 chrome://flags中打开"开启实验性网络平台特性"(experimental Web Platform features)。从Opera {{CompatOpera(44)}}开始默认开启。

+ +

See also

+ + + + + +
+ +
+
+
+
+ +
+ +
+
+ +
+
+
-- cgit v1.2.3-54-g00ecf