• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • php7教程
  • MySQL手册
  • apache手册
  • grid-template-areas

    版本:CSS3

    grid-template-areas CSS 属性是网格区域 grid areas 在CSS中的特定命名。网格区块(grid areas)和网格项(grid item)沒有关联,但是它们可以和一些网格定位属性(grid-placement properties)关联起来,比如grid-row-start, grid-row-end, grid-column-start和grid-column-end;也可以和一些速记(shorthands)属性关联起来,比如grid-row,grid-column 和 grid-area。

    示例

    /* Keyword value */
    grid-template-areas: none;
    
    /*  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; /* 未设置 */
    

    浏览器支持

    IE浏览器火狐浏览器opera浏览器chrome浏览器safari浏览器
    IE不支持grid-template-areas,其余浏览器都支持grid-template-areas

    语法

    grid-template-areas:none| <string>+

    取值

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

    实例

    #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;
    }
    
    
    <section id="page">
      <header>Header</header>
      <nav>Navigation</nav>
      <main>Main area</main>
      <footer>Footer</footer>
    </section>
    

    上篇:grid-template-rows

    下篇:row-gap