美文网首页让前端飞
grid 布局学习笔记

grid 布局学习笔记

作者: tency小七 | 来源:发表于2018-11-20 16:25 被阅读3次
    基本结构

    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 布局学习笔记

        本文链接:https://www.haomeiwen.com/subject/sicopftx.html