grid布局

一、什么是grid布局?

将容器划分为行和列,产生单元格,然后指定项目所在的单元格,可以看作是二维布局。主流浏览器基本兼容

二、基本概念

1、容器(有容器属性)

2、项目(有项目属性)

外层大盒子就是容器,里面具体的东西就是item

3、grid布局中所具有的东西(重要的图)

三、容器属性

1、grid-template-*  

eg:grid-template-columns:100px 100px 100px (表示三列)

        grid-template-rows:100px 100px 100px 100px (表示四行)

ps:想写多少行或多少列,就填写相应属性的个数。不填写就会自动分配,将容器自动充满。

跟grid-template相关的东西

1、repeat() 第一个参数是重复的次数,第二个是重复的值

eg :grid-template-columns:100px 100px 100px

         grid-template-columns:repeat(3,100px)

2、auto-fill 有时,单元格的大小是固定的,但是容器的大小不确定,auto-fill属性就会自动填充 

eg:grid-template-rows:repeat(auto-fill,100px)

3、fr:方便表示比例关系 (fraction的缩写,片段的意思)

eg:grid-template-columns:repeat(4,1fr)//宽度平均分为四列等分

4、 minmax() 产生一个长度范围,2个参数,一个最小值,一个最大值

eg:grid-template-columns:1fr minmax(150px,1fr) 最小都不会小于150px

5、auto 表示由浏览器自己决定长度

eg:grid-template-columns:100px auto 100px  (不写则默认auto)

中间自动填充,根据浏览器的大小自动计算

6、网格线(作用:帮助定位 格子定位到哪跟线上)

n行有n+1跟水平网格线

m列有m+1跟垂直网格线
eg:grid-template-columns:[c1] 100px [c2] 100px [c3]    2列3跟网格线

2、grid-row-gap  /  grid-columns-gap

         item (格子/项目)之间的距离

eg:row-gap:20px  (行与行之间的距离)

        column-gap:20px  (列与列之间的距离)

简写:gap:20px 20px

3、grid-template-areas 

一个区域由单个或多个单元格组成 需要在项目属性里面设置】

每个单元格代表一个区域 (自己想怎么划分就怎么划分 一个格子可以成为一个区域 两个格子也可以成为一个区域)

4、grid-auto-flow

划分网格线以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是先行后列,即填满第一行,再开始放入第二行(就是子元素的排放顺序)

eg:grid-auto-flow:row(先行后列  默认)

        grid-auto-flow:column (先列后行)

跟grid-auto-flow 相关  dense(提高空间的利用率)

5、对齐方式  justify-items(水平方向)  / align-items(垂直方向)

设置所有单元格内容的水平和垂直的对齐方式、

水平垂直合并写:place-items:center center

6、justify-content(水平方向) / align-content(垂直方向)

设置整个内容区域的水平和垂直对齐方式

eg:justify-content:center

       align-content:center

7、grid-auto-columns / grid-auto-rows 

用来设置多出来的项目的宽和高

四、项目属性

1、grid-column-start /  grid-column-end

     grid-row-start /  grid-row-end   用来指定item的具体位置

简写:eg1:grid-column:1 / 3   (第一个参数开始的位置 第二个参数结束的位置)

           eg2: grid-column-star:span 2;从开始方向跨越两个单元格

           eg3: grid-column-end:span 2;从结束方向跨越两个单元格

           eg2和eg3效果一样 一个往右一个往左

2、grid-area 指定项目在哪一个区域 (结合容器属性一起使用)

简写:grid-area:1 / 1 / 3 / 3

3、justify-self / align-self

只能用于单个项目(单元格)的水平/垂直方向

简写:place-self:center  center

  • 13
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值