css-grid布局(栅格布局)

css新世界-auto-fit

grid 一个比flex更强大的布局,适合做整体布局

  1. grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); auto-fit的话有strech效果
  2. gap 不仅可以用于grid 也可用flex
  3. . 在grid-template-areas表示这个位置空着
  4. grid area 的 [a b]命名可重复命名 表示的是同一根线, 感觉不如数字好用啊
  5. min-content是一个尺寸关键字, 也可以表示width height…

在这里插入图片描述

  <style>
        .tb {
            display: grid;
            grid-template-columns: 3fr 5fr 3.5fr;
            grid-template-rows: 42px 300px;
            grid-template-areas: 
            	'a b b' /* 目前喜欢这种的方式, 比较直观  . 表示这个位置空着 */
                'a c d'; /* 相同的名字 代表相同的区域 */
            gap: 10px;
        }

        .tb>div {
            background-color: #f1cbc5;
            border-radius: 10px;
        }

        .tb-cate {
            grid-area: a;
        }

        .tb-module {
            grid-area: b;
        }

        .tb-baner {
            grid-area: c;
        }

        .tb-user {
            grid-area: d;
        }
    </style>

    <body>
        <div class="tb">
            <div class="tb-module"></div>
            <div class="tb-cate"></div>
            <div class="tb-banner"></div>
            <div class="tb-user"></div>
        </div>
    </body>

在这里插入图片描述

grid-template-columns / grid-template-rows

  1. 简写: grid: …行高 / … 列宽
  2. 支持 px % min-content max-content auto fr repeat() minmax() fit-content() 函数值
  3. min-content 先找最大的, 然后取它的最小 content
  4. auto 会受到 justfify-content align-content的影响
  5. minmax(lenght | percentage | min-content | max-content | auto, 前面的 + fr) 也就是说 fr 只能放在第二个参数
  6. fit-content(length | percentage) 内容越大尺寸越大, 但不超限定

min-content

  1. 先找到内容最大的那个,然后用它的最小尺寸(如果min-width大于内容的宽度, 则是min-width)
<div class="container">
	<item>css</item>
	<item></item>
	<item>css_world</item>
	<item></item>
	<item>css_new_world</item>
	<item></item>
</div>

max-content

  1. 最大内容宽度.
    在这里插入图片描述

fr 网格布局的专用单位

  1. fr 总和小于1 的话是占不满的.
  2. 搭配固定值的话, fr表示的是剩余空间的比例
  3. 配合auto 是减去auto的 fit-content

在这里插入图片描述

repeat( | auto-fill | auto-fit, 1px auto 30px)

  1. auto-fit 会把空白匿名网格折叠合并…
  2. auto-fit 更符合常规的布局需求
  3. repeat() 函数只能用于 grid-template-rows/columns
repeat(auto-fit,minmax(100px,1fr)) // 弹性的同时保证了最小宽度.
repeat() auto // 无效
repeat() 20% 可以
父盒子有padding 或者 border ? 子盒子的margin 才能撑开父盒子??
1vw = 1%的屏幕宽度.
1rem = 根元素的字体大小.
  1. · 就是这个点, PingFangSC字体下和 Microsoft YaHei
<!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>
            .tb {
                display: grid;
                grid-template-columns: [f] 100px [t] 300px [e];
                grid-auto-rows: 150px 100px;
                /* [d]150px 100px; 搞不懂为什么加个命名就变小了.... */
                gap: 10px;
            }

            .left {
                grid-column: f / t;
                /* 数字和命名搭配搭配也可, 1 / t  注意如果是一个位置的话可省略, 比如 1 / 2  2 / 3  这里的2 3就可以省略*/
                grid-row: 1 / 3; /* g-r-start g-r-end 的简称 */

            }

            .tb>div {
                background-color: lightgreen;
            }
        </style>
    </head>

    <body>
        <h1>[x] 100px [l]</h1>
        <div class="tb">
            <div class="left">a</div>
            <div>b</div>
            <div>c</div>
        </div>
    </body>

</html>

在这里插入图片描述

.wrapper{   /* 容器 */
	display: grid;  /* 容器 inline-grid 行内 */
	grid-template-columns: 1fr 1fr 1fr; /*repeat(2, 1fr 100px) repeat(auto-fill, minmax(100px, 1fr))*/
	grid-template-rows: 100px 100px 100px; /* 行高  */
	grid-auto-rows: 100px; /* 如果该行没有被grid-template-rows设置, 比如这个就设置了三行, 结果有了4 5 6行..这个就生效了.. */
	
	row-gap: 10px; /* 行间距 */
	column-gap: 10px; /* 列间距 */ grid-gap: row-gap column-gap; /* 行列复合写法 */
	
	justify-items: center; /* 水平方向 start end  */
	align-items: center; /* 垂直方向 start end  */ place-items: center center; 
	
	justify-content: center; /* 整体内容  space-evenly */
    grid-auto-flow:  row; / * [ row | column ]  ||  dense   */
}
.item{	
	grid-area: l; /* 这样比较方便直观 */	
	align-self: end;
	justify-self: end;  place-self: ; /* 上复合 */
}

盒模型

内容 => padding => border => margin
1.  block默认和父级盒子的宽度一样
2.  width auto是块级元素的默认值,  	100%; 的话会等于父级, 但是再加了padding border(content-box) 会溢出
3.  box-sizing: border-box; // line-height设置要减去padding和border 是内容区域的高度
4.  text-align: center; 内容区域
5.  居中(居中偏移固定的距离没有问题)
    box{
    box-sizing: border-box; /content-box/
    border: 10px;
    line-height: 100px; 
    text-align: center; /内容区域/
    }
6.  设置了box-sizing: border-box;方便写盒子, 但是写line-height, 要减去padding和border了,
7.  text-align center也是内容区域
8.  width: auto 和 100%的区别; auto; 默认的是auto; 100% 如果是content-box就会超出了

参考链接

Establishing grid containers
阮一峰Grid
Grid for layout, Flexbox for components
1-Line Layouts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/798935.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RHCA II之路---EX442-6

RHCA II之路---EX442-6 1. 题目2. 解题3. 确认 1. 题目 2. 解题 sysctl -a|grep shmall echo kernel.shmall 367001 >> /etc/sysctl.conf sysctl -p3. 确认 去人这里max total shared memory的值使我们之前设定的即可.这里的值单位是kb所以只需要2个1024就可以了 ipc…

如何快速区分电子原件极性

表贴式电阻电容无极性 1表贴式.二极管 如图所示:有横杠的表示负极&#xff08;竖杠标示&#xff09;&#xff0c;注意一定要查阅数据手册在引脚信息栏一般会有 铝电解电容 手册一般会对正负极有说明 钽电容有极性 发光二极管 芯片 一般规律&#xff1a;1.看丝印朝向正对丝印的…

监控易V7.6.6.15升级详解7,日志分析更高效

随着企业IT系统的日益复杂&#xff0c;日志管理成为了保障系统稳定运行、快速定位问题的重要工具。为了满足广大用户对日志管理功能的更高需求&#xff0c;监控易系统近日完成了重要版本升级&#xff0c;对日志管理功能进行了全面优化和新增。 一、Syslog日志与SnmpTrap日志统…

uniapp踩坑之项目:uni-table垂直居中和水平居中

uni-table 中的水平居中uni-td align"center" //html 水平居中<uni-table ref"table" :loading"loading" border stripe emptyText"暂无更多数据"><uni-tr><uni-th :width"tdWidth/6" align"center&quo…

7-Zip解压缩软件

7-Zip是一款完全免费而且开源的压缩软件&#xff0c;相比其他软件有更高的压缩比而且相对于WinRAR不会消耗大量资源 下载地址&#xff1a;7-Zip解压缩软件安装包_压缩软件安装包资源-CSDN文库

【Python3】自动化测试_用Playwright操作浏览器

创建浏览器实例 # 启动浏览器实例 myBrowser myPlaywright.chromium.launch(headlessFalse) # myBrowser myPlaywright.firefox.launch(headlessFalse) # myBrowser myPlaywright.webkit.launch(headlessFalse) args < List [ str ] >传递给浏览器实例的附加参数。 c…

仓颉语言 -- 函数

1、定义函数 仓颉使用关键字 func 来表示函数定义的开始&#xff0c;func 之后依次是函数名、参数列表、可选的函数返回值类型、函数体。其中&#xff0c;函数名可以是任意的合法标识符&#xff0c;参数列表定义在一对圆括号内&#xff08;多个参数间使用逗号分隔&#xff09;…

PyTorch论文

2019-12 PyTorch: An Imperative Style, High-Performance Deep Learning Library 设计迎合4大趋势&#xff1a; 1. array-based (Tensor) 2. GPU加速 3. 自动求导 (Auto Differentiation) 4. 拥抱Python生态 4大设计原则&#xff1a; 1. 使用算法和数据开发者熟悉的Python做编…

【Python学习笔记】:Python爬取音频

【Python学习笔记】&#xff1a;Python爬取音频 背景前摇&#xff08;省流可以不看&#xff09;&#xff1a; 人工智能公司实习&#xff0c;好奇技术老师训练语音模型的过程&#xff0c;遂请教&#xff0c;得知训练数据集来源于爬取某网页的音频。 很久以前看B站同济子豪兄的《…

开源AI生成连续一致性儿童故事书; GraphRAG结合本地版Ollama;AI辅助老年人用餐;开源无代码AI工作流VectorVein

✨ 1: SEED-Story SEED-Story 是一种能生成包含一致性图像的多模态长篇故事的机器学习模型&#xff0c;配套数据集已开放。 SEED-Story 是一种多模态长故事生成模型&#xff0c;具备生成包含丰富且连贯的叙事文本和一致性高的人物和风格图像的能力。此模型基于 SEED-X 构建。…

找到完美的横道图工具:2024年选择指南

国内外主流的10款项目进度横道图软件对比&#xff1a;PingCode、Worktile、灵动计划&#xff08;Wolai&#xff09;、飞书项目、Tapd、麦客CRM、Asana、Trello、Smartsheet、Basecamp。 在管理项目时&#xff0c;确保所有进度和任务都按计划进行是每个项目经理面临的一大挑战。…

iSAM: Incremental Smoothing and Mapping

文章目录 iSAM原理主要思想问题描述求解方法增量求解增量更新增量因式分解(基于[Givens Rotations](https://blog.csdn.net/weixin_41469272/article/details/140245327)) 回环处理数据association变量组合协方差 补充知识COLAMD排序算法原理步骤 JVC assignment iSAM原理 论文…

QT--控件篇二

一、文本框 1. QLineEdit 文本框通常使用QLineEdit和QTextEdit这两个类来实现。 QLineEdit&#xff1a;用于单行文本输入。QTextEdit&#xff1a;用于多行文本输入&#xff0c;可以包含丰富的文本格式。 用setText(QString txt);设置默认的显示内容&#xff0c;用QString tex…

Spring-Cache 缓存

1.简介 2.SpringCache 整合 简化缓存开发 1.导入依赖 <!-- spring cache --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>2.redis 作为缓存…

c#与欧姆龙PLC通信——如何更改PLC的IP地址

前言 我们有时候需要改变欧姆龙Plc的ip地址,下图有两种更改方式,一种是已知之前Plc设置的Ip地址,还有一种是之前不知道Pl的Ip地址是多少,下面分别做介绍。 1、已知PLC的IP地址的情况下更改地址 假设已知PLC的Ip地址,比如本文中PLC的IP为192.168.1.2,我首先将电脑的IP地…

宝塔面板以www用户运行composer

方式一 执行命令时指定www用户 sudo -u www composer update方式二 在网站配置中的composer选项卡中选择配置运行

ROS2从入门到精通5-1:详解代价地图与costmap插件编写(以距离场ESDF为例)

目录 0 专栏介绍1 代价地图介绍1.1 基本概念1.2 代价定义 2 代价地图配置2.1 通用配置2.2 障碍层配置2.3 静态层配置2.4 膨胀层配置 3 代价地图插件案例3.1 构造地图插件类3.2 注册并导出插件3.3 编译与使用插件 0 专栏介绍 本专栏旨在通过对ROS2的系统学习&#xff0c;掌握RO…

【格密码基础】旋转格的性质

目录 一. 回顾ZSVP问题 二. 基于ZSVP问题的密码系统 三. 格基旋转与Gram矩阵 四. 补充矩阵QR分解 4.1 矩阵分解 4.2 举例 前序文章请参考&#xff1a; 【格密码基础】详解ZSVP问题-CSDN博客 一. 回顾ZSVP问题 根据之前的讨论我们知道解决ZSVP问题的计算复杂度为&#x…

链路追踪系列-01.mac m1 安装zipkin

下载地址&#xff1a;https://hub.docker.com/r/openzipkin/zipkin jelexjelexxudeMacBook-Pro zipkin-server % pwd /Users/jelex/Documents/work/zipkin-server 先启动Es: 可能需要先删除 /Users/jelex/dockerV/es/plugins 目录下的.DS_Store 当端口占用时再次启动&#x…

PostgreSQL 中如何处理数据的并发读写和锁等待超时?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何处理数据的并发读写和锁等待超时一、并发读写的基本概念&#xff08;一&#xff09;…