css grid实现九宫格布局

常见的九宫格布局可以使用flex布局实现,但是flex布局有个致命的缺陷,比如3行3列的布局,当第不足3个元素的时候,元素依然是平局平铺的,这样就不满足九宫格的效果,这种情况,使用grid布局可以轻松搞定这个问题

html布局

复制代码
<div class="layout">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>

    <div class="item">3</div>
    <div class="item">5</div>
    <div class="item">6</div>

    <div class="item">7</div>
    <div class="item">8</div>
</div>

css样式

复制代码
<style>
    .layout{
        display: grid;
        /*fr是山哥单位,如果想一行展示4个元素,那么填上4个fr即可*/
        grid-template-columns: 1fr 1fr 1fr;
        gap: 10px;
        margin-left: 10%;
        width: 80%;
        height: 80vh;
    }

    .item{
        background: chartreuse;
        display: flex;
        /*控制元素上下居中*/
        justify-content: center;
        /*控制元素左右居中*/
        align-items: center;
    }

</style>

效果

相关推荐
Hi_kenyon13 小时前
VUE3套用组件库快速开发(以Element Plus为例)二
开发语言·前端·javascript·vue.js
起名时在学Aiifox13 小时前
Vue 3 响应式缓存策略:从页面状态追踪到智能数据管理
前端·vue.js·缓存
李剑一14 小时前
uni-app实现本地MQTT连接
前端·trae
EndingCoder14 小时前
Any、Unknown 和 Void:特殊类型的用法
前端·javascript·typescript
oden14 小时前
代码高亮、数学公式、流程图... Astro 博客进阶全指南
前端
GIS之路14 小时前
GDAL 实现空间分析
前端
JosieBook14 小时前
【Vue】09 Vue技术——JavaScript 数据代理的实现与应用
前端·javascript·vue.js
pusheng202515 小时前
算力时代的隐形防线:数据中心氢气安全挑战与技术突破
前端·安全
起名时在学Aiifox15 小时前
前端文件下载功能深度解析:从基础实现到企业级方案
前端·vue.js·typescript