grid布局[1]

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第15天,点击查看活动详情

基本概念

首先,看一张图,了解一下容器和项目(不难理解,容器就是包在外层的元素,项目就是内部的元素) image.png

我们后面会介绍下图的内容

image.png

每个grid布局,都有隐藏的网格线,用来帮助定位的。 image.png

容器属性

行列分布

  • grid-template-columns
  • grid-template-rows

说明:想要多少行/列,就填写相应属性的个数。不填写自动分配

做些准备

我们先画好div,main中包着十个子元素。main此时就是容器(container),十个子元素就是项目(item)。我们给十个子元素加上不同的颜色

<html>
<head></head>
<style>
    .main {
        width: 600px;
        height: 600px;
        border: 10px solid skyblue;
    }

    .item {
        font-size: 50px;
        color:#FFF;
    }

    .item1 {
        background-color: rgb(164, 233, 231);
    }

    .item2 {
        background-color: rgb(117, 219, 153);
    }

    .item3 {
        background-color: rgb(145, 206, 54);
    }

    .item4 {
        background-color: rgb(190, 166, 218);
    }

    .item5 {
        background-color: rgb(208, 100, 169);
    }

    .item6 {
        background-color: rgb(221, 164, 114);
    }

    .item7 {
        background-color: rgb(68, 87, 174);
    }

    .item8 {
        background-color: rgb(17, 120, 117);
    }

    .item9 {
        background-color: rgb(230, 79, 79);
    }

    .item10 {
        background-color: rgb(68, 58, 204);
    }
</style>
<body>
    <div class="main">
        <div class="item item1">1</div>
        <div class="item item2">2</div>
        <div class="item item3">3</div>
        <div class="item item4">4</div>
        <div class="item item5">5</div>
        <div class="item item6">6</div>
        <div class="item item7">7</div>
        <div class="item item8">8</div>
        <div class="item item9">9</div>
        <div class="item item10">10</div>
    </div>
</body>
</html>
复制代码

此时,我们没有添加任何布局。效果如下,可以看到,子元素都已经挤出了容器中。

image.png

grid-template-columns

给容器添加属性,布局为grid。设置了三列,每列的宽为100px。

    .main {
        width: 600px;
        height: 600px;
        display: grid;
        border: 10px solid skyblue;
        grid-template-columns: 100px 100px 100px;
    }
复制代码

image.png

grid-template-rows

因为我们有四行,然后我们每行都给100px

    .main {
        width: 600px;
        height: 600px;
        display: grid;
        border: 10px solid skyblue;
        grid-template-columns: 100px 100px 100px;
        grid-template-rows: 100px 100px 100px 100px;
    }
复制代码

image.png

猜你喜欢

转载自juejin.im/post/7107904740662444045