Grid布局示例代码

示例一

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Grid布局</title>
</head>
<style>
    * {
     
        padding: 0;
        margin: 0;
        box-sizing: border-box;
    }

    body {
     
        background-color: #f6f6f6;
    }

    .headTitle {
     
        text-align: center;
        padding: 30px 0;
        font-size: 26px;
        color: #555;
    }

    .layout {
     
        min-height: 500px;
        background-color: #fff;
        border-radius: 10px;
        margin: 0 auto;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
        padding: 30px;
    }

    .flex .box {
     
        width: 300px;
        height: 200px;
        background-color: #7c9fb0;
        border-radius: 8px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        margin-bottom: 40px;
    }

    .flex {
     
        width: 1400px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .grid {
     
        width: 80%;
        display: grid;
        /* 开启网格布局 */
        /* 四列均匀分布,第一列宽度为200px,中间两列为1fr,最后一列为2fr宽度 */
        /* grid-template-columns:200px repeat(2, 1fr) 2fr; */
        /* 四列均匀分布,效果同上 */
        /* grid-template-columns: 200px 1fr 1fr 2fr; */
        /* 响应式布局可以使用,自定义最小宽度份数(最小值不能小于260px)和最大份数,同样的容器宽度应该以百分比为单位,不能写死像素了,当屏幕被缩放时会自动布局 */
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        /* 除了columns还有对应的rows,用法和上面一致,可以自定义行高度和自适应行高度 */
        grid-template-rows: 1fr 1fr;
        /* 定义列间距 */
        /* grid-column-gap: 40px; */
        /* 定义行间距 */
        /* grid-row-gap: 40px; */
        /* 元素上下左右之间的间距,也可以拆分单独设置 */
        gap:40px
        ;
    }

    .grid .box {
     
        background-color: #7c9fb0;
        border-radius: 8px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
    }

    .gridbilibli {
     
        width: 1400px;
        display: grid;
        grid-template-columns: repeat(5,1fr);

        gap: 40px;
    }

    .gridbilibli .box {
     
        background-color: #7c9fb0;
        border-radius: 8px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
    }
    .gridbilibli .box:nth-child(1) {
     
        /* span固定写法 后面数字代表合并列或者行数 */
        /* 合并的建议使用数字标记一下做好布局再写页面,因为合并只是将当前单元格扩大占位,并不是跟其他单元格合并了,因此跨度结束之后会多出几个占位的,需要手动去掉这些,以免影响布局 */
        grid-column: span 2;
        grid-row: span 2;
    }
</style>

<body>
    <div class="headTitle">flex布局(最后一行要么都居中要么都居左,不合适,除非数量固定)</div>
    <div class="layout flex">
        <div class="box">box方块</div>
        <div class="box">box方块&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值