grid 布局学习笔记

基本结构

CSS Grid 布局由两个核心组成部分是 wrapper(父元素)和 items(子元素)。 wrapper 是实际的 grid(网格),items 是 grid(网格) 内的内容。
跟flexbox有点类似。

基本用法
  • 下面是一个 wrapper 元素,内部包含6个 items :

<div class="wrapper">
    <div class="item1">1</div>
    <div class="item2">2</div>
    <div class="item3">3</div>
    <div class="item4">4</div>
    <div class="item5">5</div>
</div>

要把 wrapper 元素变成一个 grid(网格),只要简单地把其 display 属性设置为 grid 即可。

.wrapper{
    display:grid;
 }

此时还是五个div简单堆在一起。

  • 在父元素里面设置grid-template-rows和grid-template-columns来设置多少行多少列。

      .wrapper{
          display: grid;
          grid-template-columns:100px 100px 100px;
          grid-template-rows:50px 50px;
          /*创建3列2行*/
      }
    

此时是这个样子的


image.png

如果修改成

        grid-template-columns:20px 50px 100px;
        grid-template-rows:50px 50px;
image.png

*设置子元素item的属性来达到我们想要的效果

.item1{
        grid-column-start: 1;
        grid-column-end: 4;
}

item1 占据从第一条网格线开始,到第四条网格线结束的空间


image.png

我们可以看到


image.png

可以简写为

item1{
    grid=column:1/4
}
  • 其他有趣的性质

fr 单元允许你用等分网格容器剩余可用空间来设置 网格轨道(Grid Track) 的大小 。例如,下面的代码会将每个网格项设置为网格容器宽度的三分之一:

.container {
grid-template-columns: 1fr 1fr 1fr;
}

http://www.css88.com/archives/8510/comment-page-1#prop-justify-items

最后补上一些对于overflow的理解
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网格线(Grid Line) 构成网格结构的分界线。它们既可以是垂直的(“列网格线(column grid lin...
    晚溪呀阅读 1,219评论 0 0
  • 转载地址:https://www.cnblogs.com/xiaohuochai/p/7083153.html 前...
    One_Hund阅读 1,354评论 0 1
  • 上一篇,介绍了grid的浏览器兼容和重要的几个概念,接下来继续介绍grid的容器属性。 Grid(网格) 属性目录...
    codeTao阅读 2,094评论 0 1
  • 长征记是一个21世纪大专生的自我奋斗,受warfalcon,scalerstalk,Howie和小能熊三位老师...
    文道昌隆阅读 220评论 0 0
  • 创业的风险在于,你必然会死掉。反正你不是一年内挂掉,就是三年内挂掉,世界上能有百年基业的公司太少了。反正公司和人一...
    创业项目阅读 212评论 0 0