grid布局之-子项放置1

布局1

xml 复制代码
<style>
        .container{
            background-color:rgb(208, 164, 35);
            padding:50px;
            margin:50px;
            color:#fff;
            display:grid;
            height:80vh;
            box-sizing: border-box;
            grid-template-rows:repeat(2,50px) 1fr;
            grid-template-columns: 150px 1fr;
            gap:10px;
        }
        .item{
            border:1px solid red;
            background-color:orange;
            display:flex;
            justify-content: center;
            align-items: center;
        }
        .header{
            /* grid-column-start:1;
            grid-column-end:3;
            grid-row-start:1;
            grid-row-end:2; */

            /* 速写属性 */
            /* grid-column:1 / 3; */
            /* grid-row:1/2; */

            /* 该写法表示跨越两个格子 */
            /* grid-column:1 / span 2; */
            /* grid-row:1 / span 1; */
            /* grid-row:1; */

            /* 速写属性 grid-row和grid-column */
            /* 第1个数字是行的起始线,第2个数字是列的起始线,第3个数字是行的终止线,第4个数字是列的终止线, */
            /* grid-area:1/1 /2/3; */
            /* 第1个数字是行的起始线,第2个数字是列的起始线,第3个数字是行跨越几个格子,第4个数字是列跨越几个格子, */
            grid-area:1/1 /span 1/ span 2; 

        }
        .aside {
            grid-area:2/1/span 2/ span 1;
        }
        .tab{
            grid-area:2/2;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="item main">main</div>
        <div class="item header">header</div>
        <div class="item aside">aside</div>
        <div class="item tab">tab</div>
    </div>
</body>

2.还有一种写法,

xml 复制代码
 <style>
        .item{
            border:1px solid red;
            background-color:orange;
            display:flex;
            justify-content: center;
            align-items: center;
        }
        .container{
            background-color:rgb(208, 164, 35);
            padding:50px;
            margin:50px;
            color:#fff;
            display:grid;
            height:80vh;
            box-sizing: border-box;
            grid-template-rows:repeat(2,50px) 1fr;
            grid-template-columns: 150px 1fr;
            gap:10px;
            /* 在父容器中定义 */
            grid-template-areas:
            'header header' 
            'aside tab' 
            'aside main';
        }
        .header{
            grid-area:header; 
        }
        .aside {
            grid-area:aside;
        }
        .tab{
            grid-area:tab;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="item main">main</div>
        <div class="item header">header</div>
        <div class="item aside">aside</div>
        <div class="item tab">tab</div>
    </div>
</body>

第二种的写法比较灵活,假如后面想把aside的列放到右边,只需要改这块

效果如下

grid-template速写属性

相关推荐
成都渲染101云渲染66663 分钟前
Houdini+Blender高效渲染方案(高配算力+全渲染器兼容)
前端·系统架构
SuperEugene19 分钟前
Vue3 + Element Plus 表格实战:批量操作、行内编辑、跨页选中逻辑统一|表单与表格规范篇
开发语言·前端·javascript
极梦网络无忧43 分钟前
基于 Vite + Vue3 的组件自动注册功能
前端·javascript·vue.js
Predestination王瀞潞1 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
爱学习的程序媛1 小时前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
zabr1 小时前
花了 100+ 篇笔记,我整理出 了一套 AI Agent 工程完全指南
前端·后端·agent
软弹1 小时前
深入理解 React Ref 机制:useRef 与 forwardRef 的协作原理
前端·javascript·react.js
YaHuiLiang1 小时前
Ai Coding浪潮下的前端:“AI在左,裁员在右”
前端
雪碧聊技术2 小时前
前端vue代码架子搭建
前端·javascript·vue.js·前端项目代码框架搭建
爱学习的程序媛2 小时前
【Web前端】前端用户体验优化全攻略
前端·ui·交互·web·ux·用户体验