码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 22-网格布局


    文章目录

    • 一、grid布局网格布局的概念和flex布局的区别
    • 二、网格布局中的属性
      • 1、容器属性
        • (1)触发网格布局
        • (2)行列划分
      • 2、间距
      • 3、区域命名与划分 ——设置到父盒子
      • 4、网格排列顺序
      • 5、网格对齐方式
        • (1)网格对齐方式(整体)
        • (2)网格内部项目排列位置
      • 6、行列合并——给网格项目上增加

    一、grid布局网格布局的概念和flex布局的区别

    含义:它将网页划分成一个个网格,可以任意组合不同的风格,做出各种各样的布局。

    区别:Griad布局与Flex布局有一定的相似性,都可以指定容器内部多个项目的位置,但是他们也存在重大区别,Flex布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一堆布局。

    Griad布局则是将容器化分成“行”和“列”,产生单元格,然后指定“项目所在的单元格”,可以看作是二维布局,

    网格布局案例,不规则布局项目:

    在这里插入图片描述

    二、网格布局中的属性

    含义:网格布局中的属性和flex布局中的布局属性类似,分为两类,一类容器属性,一类项目属性。

    1、容器属性

    (1)触发网格布局

    给父元素添加display:griad

    display关于网格的取值分为两个,griad(块网格)和inline-griad(行内网格,行内块)

    griad表示容器从上向下排列
    inline-griad表示容器从左向右排列

    (2)行列划分

    规定行属性:griad-template-row
    规定列属性:griad-template-column

    六种取值方式:

    方式一:绝对大小

    griad-template-row:200px 200px 200px
    griad-template-column:200px 200px 200px
    
    • 1
    • 2

    方式二:百分比

    griad-template-row:33.33% 33.33% 33.33% 
    griad-template-column:33.33% 33.33% 33.33% 
    
    • 1
    • 2

    方式三:功能函数

    griad-template-row:repeat(3,33.33%)
    参数一:重复的次数
    参数二:重复的数值
    
    • 1
    • 2
    • 3

    方式四:auto-fill关键字,自动填充,配合功能函数使用

    griad-template-row:repeat(auto-fill.33%)
    自动填充行数
    
    • 1
    • 2

    方式五:fr关键字

    griad-template-row:1fr 3fr 1fr;
    表示比例关系
    
    • 1
    • 2

    方式六:minmax
    在这里插入图片描述
    解释:网格宽度最大200px最小100px,可在区间变化,自适应宽度,如果其他网格大于合适高度,那么会超出父盒子。

    第七种方法:auto
    在这里插入图片描述
    自动填满剩余空间

    2、间距

    //行间距
    grid-row-gap:20px
    //列间距
    grid-column-gap:列间距
    //复合式
    grid-gap:30px 30px;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3、区域命名与划分 ——设置到父盒子

    box{
    //前提
    display:griad;
    grid-template-columns: 100px 100px 100px;
    grid-template-rows: 100px 100px 100px;
    //区域
    grid-template-areas:'a e e'
                        'd e e'
                        'g h i'
    ;
    }
    .box div:nth-child(1){  #box下第一个div盒子占a区域
    grid-area:a;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    注意:合并的区域命名相同,只能实现长方形和正方形。

    4、网格排列顺序

    排列顺序:

    grid-auto-flow: row/column; 改变顺序
    # row盒子水平排列
    123
    456
    #column竖直顺序排列
    135
    246
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    5、网格对齐方式

    (1)网格对齐方式(整体)

    网格在大容器中的排列方式
    设置在最外部大盒子box上

    justify-content:start|end|center|space-between|space-around
    align-content:start|end|center|space-between|space-around
    //复合属性
    place-content:<justify-content> <align-content>
    
    • 1
    • 2
    • 3
    • 4

    (2)网格内部项目排列位置

    设置在最外部大盒子box上

    justify-items:start|end|center|stretch;
    align-items:start|end|center|stretch;
    //复合属性
    place-items:<justify-items> <align-items>
    
    • 1
    • 2
    • 3
    • 4

    stretch默认值,拉伸占满整个盒子
    在这里插入图片描述

    6、行列合并——给网格项目上增加

    替代区域命名与划分的方式,直接给内部网格加属性

    写法一:
    grid-column-start:1;
    grid-column-end:3;
    表示占一行两列
    grid-row-start:1;
    grid-row-end:3;
    grid-column-start:1;
    grid-column-end:3;
    表示占两行两列
    写法二:
    grid-row:1/3;
    grid-column:1/3;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    网格线:
    在这里插入图片描述

  • 相关阅读:
    实战java高并发程序设计(第2版)学习(1-3)
    微信小程序-微信授权登录
    CentOS7安装Nginx
    【大数据技术】记一次spark连接MySQL读数据是失败的排查,显示“No suitable driver”,但实际是driver已经配置好了
    MySQL主从复制(基于Centos7)
    自动化运维机器人(RPA)在银行IT运维领域应用场景分析
    LeetCode 2365. 任务调度器 II 模拟+哈希
    nodejs+vue电子病历管理系统
    港科夜闻|香港特首李家超,教育局局长蔡若莲与创新科技及工业局局长孙东亲临香港科大,聆听青年才俊之声...
    python zip函数
  • 原文地址:https://blog.csdn.net/CapejasmineY/article/details/126218944
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号