grid布局学习

虽然不经常用还是抽个空学一下  卷!

 

与flex不同之处   grid为二维布局

 

1. 布局:  display: grid;

 

2. 网格间距: grid-gap: 10px;   行列通用间距   // 写法类似 padding margin

      grid-row-gap: 10px;  行间距;

      grid-column-gap: 10px; 列间距;  

 

3. 网格线

  

  使用  grid-row-start / gird-column-start  决定起始线

  使用  grid-row-end /  grid-column-end   决定结束线

 

4. 行数/列数

  grid-template-columns: auto auto auto;     有几个数值就有几列    全是auto时类似 flex: 1;

  grid-template-rows:  80px 100px;    具体数值可以决定 宽度 / 高度

 

5. 水平对齐方式  justify-content: center            基本和flex相同  多了个  space-evenly  会在列之间以及列周围留出相等的空间

 

6. 垂直对齐方式 align-items: center                 基本和flex相同  多了个  space-evenly  会在行之间以及行周围留出相等的空间   属性值与 justify-content 相同

 

7.  grid-column   网格线的缩写模式    grid-column: 2 / 3   =>   grid-column-start: 2; grid-column-end: 3;

   grid-row        网格线的缩写模式    grid-row: 2 / 3   =>   grid-row-start: 2; grid-row-end: 3;

   跨越:    grid-column:  2 / span 2;  =>   grid-column-start: 2;  grid-column-end: 4;    即  从column 2 开始, 跨越两列

 

8. grid-area        将 grid-column  grid-row  合并的写法

 grid-area:  1 / 2 / 5 / 6;   =>  grid-row: 1 / 5;  grid-column: 2 /  6;

 跨越:    grid-area: 1 / 2 / span 2 / span 3;   =>  grid-row: 1 / span 2;  grid-column: 2 /  span 3;

 新理解: 可以通过为元素添加grid-area: one; grid-area: two; 这种去为元素增加grid区域名 添加该名字后 元素就不会自动填充在表格内 

      需要配合 grid-template-areas: "";  来为元素添加具体的布局方式

.grid-box {
  grid-templates-columns: repeat(2, 1fr);  
  grid-templates-rows: repeat(2, 1fr);  
  grid-template-areas: "one one"
                       "two two";    
}

 

9.网格命名项   稍后再学...

  

posted on 2022-07-31 00:46  贲风  阅读(268)  评论(0)    收藏  举报