细读CSS

2020-03-02  本文已影响0人  此无休言

关于盒模型

几大布局

flex布局,参阅阮一峰老师的文章

Grid布局

display:grid | inline-grid

  1. 定义在container父容器上面
.container {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 100px 100px 100px;
  grid-template-columns: repeat(3, 33.33%);   // repeat(n | auto-fill,value),auto-fill尽可能容纳多的单元格
  grid-template-rows: repeat(3, 33.33%);
  grid-template-columns: 1fr 2fr;  // fr(nfr, nfr),n根据倍数分布
  grid-template-columns: 1fr 1fr minmax(100px, 1fr);   // minmax(100px,1fr) 宽度范围
  grid-template-columns: 100px auto 100px;   // auto 自己决定
  grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4, c5];  // 指定网格线的名称,一根可以有多个名字
  grid-template-rows: [r1] 100px [r2] 100px [r3] auto [r4];
}
.container {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 100px 100px 100px;
  grid-template-areas: 'a b c'
                       'd . f'
                       'g . i';      //  使用"点"(.)表示不需要用的。a-i命名了区域,每个区域的起始网格线,会自动命名为区域名-start,终止网格线自动命名为区域名-end
}
.container {
  justify-items: start | end | center | stretch;   // 水平
  align-items: start | end | center | stretch;   //垂直
  place-items: <align-items> <justify-items>;   // 合并写法
}
.container {
  justify-content: start | end | center | stretch | space-around | space-between | space-evenly;   // 水平
  align-content: start | end | center | stretch | space-around | space-between | space-evenly;    //垂直
   place-content: <align-content> <justify-content>   // 合并
}
  1. 定义在每个item上
.item-1 {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-column: 1 / 3;   //合并
  grid-row-start: 2;
  grid-row-end: 4;
  grid-row: 2 / 4;   //合并
  grid-column-start: header-start;
  grid-column-end: header-end;
  grid-column-start: span 2; // item-1的左距离右跨越2个网格
  grid-column-end: span 2;  // 等同于上面
}
上一篇 下一篇

猜你喜欢

热点阅读