【CSS】使用网格布局实现响应式网页

效果展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

由于gif格式展示大小超过限制,这里就使用静图来代替了。

完整代码

HTML

<!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>
        @import url('./index.css');
    </style>
</head>

<body>
    <!-- 响应式 -->
    <div id="activeDiv">
        <ul class="flow">
            <li>
                <a>
                    <img src="https://source.unsplash.com/BhcutpohYwg/800x800"/>
                </a>
            </li>
            <li>
                <a>
                    <img src="https://source.unsplash.com/pQyIutdScOY/800x800" />
                </a>
            </li>
            <li>
                <a>
                    <img src="https://source.unsplash.com/55JRsxcAiWE/800x800" />
                </a>
            </li>
            <li>
                <a>
                    <img src="https://source.unsplash.com/5wn6DeAEcmE/800x800" />
                </a>
            </li>
            <li>
                <a>
                    <img src="https://source.unsplash.com/7jCYw6a2Wao/800x800" />
                </a>
            </li>
            <li>
                <a>
                    <img src="https://source.unsplash.com/j5KAuRrYX7g/800x800" />
                </a>
            </li>
        </ul>

    </div>

</body>

</html>

css

index.css
body{
    width: 100%;
    margin: 0 auto;
}

.flow{
    max-width: 55rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(14rem,1fr));
    grid-gap: 0; 
    padding: 1.5rem;
}
li{
    list-style: none;
}
a{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-decoration: none;
    padding: 0;
}

开发技巧

minmax()函数的使用

以下代码对grid布局的影响

	display: flex;
    flex-direction: column;
    justify-content: flex-end;

原因:img原本是inline-block元素,将其父元素设置为弹性布局后,其变为block元素,长宽受父元素影响,可以尝试注释代码查看效果的变化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值