grid网格布局

本文介绍了CSS中的grid布局,强调其在自适应布局中的优势。通过实例展示了仅用三行代码如何利用grid创建卡片布局,包括关键属性如fr和repeat的使用,以及如何设置子元素的间隔。掌握这些基本属性,可以方便地搭建各种样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一种新的自适应布局方式 display:drid

说起布局grid我相信重要程度比起flex不遑多让啊。除了兼容性方面,其余的方面都是很完美的。但是我相信随着技术的不断更替,兼容性已经不再是问题。那今天进让我们来看看grid到底能够干啥吧

达成这种卡片布局的效果,使用grid布局只要三行代码就能搞定
上代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 80%;
            height: 100px;
            margin: 50px auto;
            display: grid;
            grid-template-columns: repeat(5,1fr);
            grid-column-gap: 80px;
        }
        .box div{
            border-radius: 4px;
            box-shadow: 2px  2px 5px #ccc;
            background: aqua;
        }
    </style>
</head>
<body>
    <div class="box">
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </div>
</body>
</html>

效果图(复制代码可查看)

而实现这种效果只需要三行主要代码

display: grid;
grid-template-columns: repeat(5,1fr);
grid-column-gap: 80px;

grid 主要属性:

属性作用参数
grid-template-columns给grid元素内的子元素设置每行的限制和样式像素 / fr / repeat
grid-template-rows给grid元素内的子元素设置每列的限制和样式像素 / fr / repeat
grid-row-gap给grid元素内的子元素设置行间距像素 / 百分比
grid-column-gap给grid元素内的子元素设置列间距像素 / 百分比
grid-gapgrid-column-gap和grid-row-gap的合并简写形式grid-gap: grid-row-gap grid-column-gap
justify-items子元素单元格内容的水平位置start(左) / end(右) / center(中) / stretch(拉伸)
align-items子元素单元格内容的垂直位置start(上) / end(下) / center(中) / stretch(拉伸)
place-itemsalign-items属性和justify-items属性的合并简写形式place-items: align-items justify-items

1.fr:将子元素平均分成一样的长度或宽度,比如两列的宽度分别为1fr和2fr,就表示后者是前者的两倍
2.repeat:是一个函数,接受两个参数,第一个参数是重复的次数(本例中是4),第二个参数是所要重复的值,重复某种模式也是可以的
比如:repeat(2, 1fr 2fr 1fr)

在本例中只使用了 grid-template-columns 和 grid-column-gap,定义了一行展示4个子元素,每个子元素长度平均分,间距80px
还有一些特殊属性表格中没有列出,只要掌握表格中的属性就可以简单的搭建出一些样式 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值