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


    CSS 有一些属性经常被用来解决布局问题:如(浮动float、定位postion)这些比较 hack 的方法经常会给页面遗留下一些问题。

    弹性盒子Flexbox是一个非常好的布局工具,网格布局 CSS Grid Layout 是最新、更强大的布局方式。本文就来简单介绍一下什么是网格布局。

    网格布局(CSS Grid Layout)

    网格布局是二维的布局系统,和过去常用的布局方式相比完全改变了我们设计UI的方式。

    需要了解的术语

    Grid Container(网格容器),Grid Item(网格容器子元素)。

    Grid Line(网格线),Grid Cell(网格单元格)。

    Grid Track(网格轨道),Grid Area(被网格线分开的区域)。

    图例参考

    页面结构

    <div class="container">
        <div class="item item_a">item_adiv>
        <div class="item item_b">item_bdiv>
        <div class="item item_c">item_cdiv>
    div>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    定义一个网格布局的容器

    .container {
        display: grid;
    }
    
    • 1
    • 2
    • 3

    设置网格行、列

    .container {
        display: grid;
        grid-template-columns: [first] 40px [line2] 50px [line3] auto [col4-start] 50px [five] 40px [end];
        grid-template-rows: [row1-start] 100px [row1-end] 100px [third-line] 100px [last-line];
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    通过上面的方式就声明了一个 3行5列 的网格容器。

    设置网格容器内元素位置

    .item_a {
        grid-column-start: 4;
        grid-column-end: five;
        grid-row-start: row1-start;
        grid-row-end: 2;
    
        background-color: orange;
    }
    .item_b {
        grid-column-start: 1;
        grid-column-end: span col4-start;
        grid-row-start: 3;
        grid-row-end: span 2;
    
        background-color: aqua;
    }
    .item_c {
        grid-column-start: 2;
        grid-column-end: span 1;
        grid-row-start: 2;
        grid-row-end: span 1;
    
        background-color: rgb(149, 255, 0);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    结果图:
    Grid Layout

    可以看出对应的item已经被放在网格指定的位置。想象一下如果没有网格布局,你将会怎样实现这个布局图?

    到此,也许你对网格布局还是一头雾水,不过好消息是我搞到一张作弊图,你可以对照图例自行修炼(欲练此功,必须用功):
    在这里插入图片描述

    文章到此就结束了,如果帮到你了,欢迎点赞。

    文章首发于 IICOOM-个人博客 | 技术博客 - 《CSS Grid Layout(网格布局)》

  • 相关阅读:
    Linux、docker、kubernetes、MySql、Shell运维快餐
    JVM(二十三)—— 垃圾回收器(三)G1垃圾回收器
    i.MX 6ULL 驱动开发 二十四:多点触摸屏
    手把手教你搭建ELK-新手必看-第四章:搭建logstash
    谈前端测试的重要性
    【第30天】给定一个整数 n ,求它的因数之和
    《深入了解java虚拟机》高效并发读书笔记——Java内存模型,线程,线程安全 与锁优化
    gitlib api 查找和使用
    关于SQL的返回行数top
    Tensorflow2 中对模型进行编译,不同loss函数的选择下输入数据格式需求变化
  • 原文地址:https://blog.csdn.net/IICOOM/article/details/126816445
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号