CSS 网格

《十二》CSS3 Grid 网格布局 网格布局将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。 阅读详情

一、display:grid

1、grid-template-columns

grid-template-columns属性值的个数表示网格的列数,而每个值表示对应列的宽度。

<style>
  .d1{background:LightSkyBlue;}
  .d2{background:LightSalmon;}
  .d3{background:PaleTurquoise;}
  .d4{background:LightPink;}
  .d5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    width: 100%;
    background: LightGray;
    display: grid;
    /* 请在本行以下添加你的代码 */
    grid-template-columns:100px 100px 100px;
    /* 请在本行以上添加你的代码 */
  }
</style>
<div class="container">
  <div class="d1">1</div>
  <div class="d2">2</div>
  <div class="d3">3</div>
  <div class="d4">4</div>
  <div class="d5">5</div>
</div>

2、grid-template-rows

添加多行。

<style>
  .d1{background:LightSkyBlue;}
  .d2{background:LightSalmon;}
  .d3{background:PaleTurquoise;}
  .d4{background:LightPink;}
  .d5{background:PaleGreen;}
  .container {
    font-size: 40px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 100px 100px 100px;
    /* 请在本行以下添加你的代码 */
    grid-template-rows:50px 50px;
    /* 请在本行以上添加你的代码 */
  }
</style>
  
<div class="container">
  <div class="d1">1</div>
  <div class="d2">2</div>
  <div class="d3">3</div>
  <div class="d4">4</div>
  <div class="d5">5</div>
</div>

3、grid-column-gap

创建多列之间的间距。

<style>
  .d1{background:LightSkyBlue;}
  .d2{background:LightSalmon;}
  .d3{background:PaleTurquoise;}
  .d4{background:LightPink;}
  .d5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    /* 请在本行以下添加你的代码 */
    grid-column-gap: 20px;
    /* 请在本行以上添加你的代码 */
  }
</style>
  
<div class="container">
  <div class="d1">1</div>
  <div class="d2">2</div>
  <div class="d3">3</div>
  <div class="d4">4</div>
  <div class="d5">5</div>
</div>

4、grid-row-gap

创建多行之间的间距

<style>
  .d1{background:LightSkyBlue;}
  .d2{background:LightSalmon;}
  .d3{background:PaleTurquoise;}
  .d4{background:LightPink;}
  .d5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    /* 请在本行以下添加你的代码 */
    grid-row-gap:5px;
    /* 请在本行以上添加你的代码 */
  }
</style>
  
<div class="container">
  <div class="d1">1</div>
  <div class="d2">2</div>
  <div class="d3">3</div>
  <div class="d4">4</div>
  <div class="d5">5</div>
</div>

二、grid-gap

更快地添加间距。
grid-gap:第一个值将作为行间隙的高度值,第二个值是列间隙的宽度值。

<style>
  .d1{background:LightSkyBlue;}
  .d2{background:LightSalmon;}
  .d3{background:PaleTurquoise;}
  .d4{background:LightPink;}
  .d5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    /* 请在本行以下添加你的代码 */
    grid-gap:10px 20px;
    /* 请在本行以上添加你的代码 */
  }
</style>
<div class="container">
  <div class="d1">1</div>
  <div class="d2">2</div>
  <div class="d3">3</div>
  <div class="d4">4</div>
  <div class="d5">5</div>
</div>

三、grid-column

是第一个用于网格项本身的属性。grid-column属性定义网格项开始和结束的位置,进而控制每个网格项占用的列数
grid-column: 1 / 3;网格项从左侧第一条线开始到第三条线结束,占用两列。

<style>
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3{background:PaleTurquoise;}
  .item4{background:LightPink;}
  
  .item5 {
    background: PaleGreen;
    /* 请在本行以下添加你的代码 */
    grid-column: 2 / 4;
    /* 请在本行以上添加你的代码 */
  }
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
</style>
  
<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

四、grid-row

确定开始和结束的水平线

<style>
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3{background:PaleTurquoise;}
  .item4{background:LightPink;}
  
  .item5 {
    background: PaleGreen;
    grid-column: 2 / 4;
    /* 请在本行以下添加你的代码 */
    grid-row:2 / 4;
    /* 请在本行以上添加你的代码 */
  }
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
</style>
  
<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

五、justify-self

水平对齐项目。设置其内容的位置在单元格内沿行轴对齐的方式。

stretch:内容占满整个单元格的宽度。

start:使内容在单元格左侧对齐。

center:使内容在单元格居中对齐。

end:使内容在单元格右侧对齐。

<style>
  .item1{background: LightSkyBlue;}
  
  .item2 {
    background: LightSalmon;
    /* 请在本行以下添加你的代码 */
    justify-self:center;
    /* 请在本行以上添加你的代码 */
  }
  
  .item3{background:PaleTurquoise;}
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
</style>
  
<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

六、align-self

沿列轴对齐方式。

<style>
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  
  .item3 {
    background: PaleTurquoise;
    /* 请在本行以下添加你的代码 */
    align-self:end;
    /* 请在本行以上添加你的代码 */
  }
  
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
</style>
  
<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

七、 justify-items

水平对齐所有项目

<style>
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3{background:PaleTurquoise;}
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
    /* 请在本行以下添加你的代码 */
    justify-items:center;
    /* 请在本行以上添加你的代码 */
  }
</style>
  
<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

八、align-items

垂直对齐所有项目

<style>
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3{background:PaleTurquoise;}
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}
  
  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
    /* 请在本行以下添加你的代码 */
    align-items:end;
    /* 请在本行以上添加你的代码 */
  }
</style>
  
<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

九、 grid-area

将项目放置在网格区域中。
如果网格中没有定义区域模板,你也可以像这样为它添加一个模板:
item1 { grid-area: 1/1/2/4; }
grid-area: 起始水平线 / 起始垂直线 / 末尾水平线 / 终止垂直线 ;

repeat

减少重复
添加 100 行网格的例子,使每行高度均为 50px:grid-template-rows: repeat(100, 50px);
grid-template-columns: repeat(2, 1fr 50px) 20px;
效果相当于:
grid-template-columns: 1fr 50px 1fr 50px 20px;

css布局grid-template-columns属性 将创建一个有三列的网格,其中第一列和第三列的宽度为可用空间的1/3,第二列的宽度为可用空间的2/3。” 将创建一个有6列的网格,其中每个重复的模式包含1个1fr列和1个2fr列。第一列和第三列的宽度为可用空间的1/3,第二列的宽度为可用空间的2/3。总之, grid-template-columns 属性是用于定义网格列数量和大小的非常有用的属性,在创建具有复杂布局的网站时非常有用。您还可以将 grid-template-columns 属性设置为 auto,表示列的大小将根据内容自动调整。 阅读详情

相关推荐

如何只用 CSS 制作网格

在看这篇文章时,对其中的网格比较好奇,作者提供了 stackoverflow 的链接,就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较喜欢的样式,贴在下面展示。

偶尔记一下 - mybatis.io 1709

Css布局 Grid布局

grid-template-areas 的属性值是一个或多个由空格分隔的字符串,每个字符串代表网格布局中的一行。函数 :minmax(最小值,最大值) 函数允许你同时设置列(或行)的最小值和最大值。会创建两列,第一列长度为1fr,第二列的宽度至少为 100px,且不超过1fr。Grid布局,即网格布局,通过将容器划分为"行"和"列"来创建网格,然后将内容放置在网格的单元格中,咱们可以简单理解为二维布局。定义了网格线与网格项之间的间隙(grid-row-gap 和 grid-column-gap 的简写)。

qq_54855933的博客 8653

RimWorld Mod开发避坑指南:从Defs命名规范到XML结构详解(附实战代码)

本文深入解析RimWorld Mod开发中Defs文件的编写规范与高级技巧,涵盖命名冲突预防、XML结构优化及高级功能实现。通过实战代码示例,帮助开发者避开常见陷阱,提升Mod兼容性与稳定性,特别适合RimWorld Mod开发者参考。

weixin_30790841的博客 415

阮一峰老师 CSS Grid 网格布局教程(转载)

特别声明:这篇博客转载于阮一峰老师,转载是为了方便日后复习,实在写的太棒了。 <!-- div class="asset-body" --> <h2>一、概述</h2> 网格布局(Grid)是最强大的 CSS 布局方案。 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的.

鸭绒的博客 3万+

CSS网格布局笔记[转]

CSS网格布局笔记[转] 参考:CSS Grid教程第1集 - 创建网格容器_哔哩哔哩_bilibili https://codepen.io/brandonzhang https://codepen.io/brandonzhang/pen/MWEYrrJ 查看网格布局线条: 开发者工具独立窗口: 创建网格容器 示例1: 示例2: fr单位和repeat()函数示例1: 示例2 示例3: 网格单元和网格区域 示例1: 示例2: 示例3...

baidu_41388533的博客 1930

CSS 网格容器

一个元素成为网格容器,其直接子元素自动成为网格项(Grid Items)。以下是对网格容器的详细中文讲解,涵盖其定义、相关属性及简单示例。网格容器的直接子元素会自动成为网格项,参与网格布局,而孙子元素(更深层次的子元素)不会直接受网格布局影响。当网格整体尺寸小于容器时,控制网格在容器内的水平(的元素,用于定义网格的整体结构。控制网格项的自动放置顺序,默认按行填充。是 CSS 网格布局的核心,通过设置。设置网格项之间的间距,包括行间距(/* 网格项水平居中 *//* 网格项垂直居中 */

m0_57545130的博客 772

css网格_CSS网格容器

css网格 CSS | 网格容器 (CSS | Grid Containers) There are numerous ways to display our list items or elements. For instance, we can display them in the navigation bar, in a menu bar and whatnot. Well, it wou...

cumudi0723的博客 457

CSS网格

CSS 网格是一个用于 web 的二维布局系统。我们可以把内容按照行与列的格式进行排版。另外,网格还能非常轻松地实现一些复杂的布局。这篇文章具体讲述了如何使用网格进行页面排版。

qi_bai_jin的博客 911

css网格_深入研究CSS网格

css网格 介绍 ( Introduction ) This is the advanced version of the introductory tutorial on Grid I previously published, here, on Scotch. If you are new to Grid, be sure to check it out first. 这是入门教程的网格我的...

culiu9261的博客 848

CSS 网格元素

grid-area 属性是 grid-row-start, grid-column-start, grid-row-end 以及 grid-column-end 属性的简写。grid-column 是 grid-column-start 和 grid-column-end 属性的简写属性。grid-row 是 grid-row-start 和 grid-row-end 属性的简写属性。以下实例设置 "item8" 从第 1 行开始和第 2 列开始, 第 5 行和第 6 列结束。

xiaoniu0168的博客 1410

css网格_CSS网格后备和覆盖

css网格In the interest of not giving the same information to people on Twitter all day every day, here is another cheatsheet. This time listing the interaction between Grid and other layout methods, whe...

cundai5745的博客 266

css网格_CSS网格初学者指南

css网格by Kara Luton 卡拉·卢顿(Kara Luton) CSS网格初学者指南 (A Beginner’s Guide to CSS Grid) I first heard about CSS Grid towards the end of 2016. I was sitting at one of my first Tech Ladies® meetings and an a...

cumi6497的博客 196

[CSS]CSS 网格布局

网格是一组相交的水平线和垂直线,它定义了网格的列和行。CSS 提供了一个基于网格的布局系统,带有行和列,可以让我们更轻松地设计网页,而无需使用浮动和定位。

FL1768317420的博客 872

从混乱到有序:CSS `grid-template-columns` 打造精准网格布局

本文深入解析CSS Grid中的grid-template-columns属性,展示其如何解决常见的网页布局难题。通过五种单位(固定值、百分比、fr、repeat()和minmax())的组合,可以实现从简单图片画廊到复杂响应式系统的多样化布局。文章重点演示了5个典型场景:响应式图片画廊(自动适应列数)、电商商品列表(混合固定与弹性列)、后台数据表格(精确列宽控制)、卡片式布局(不等宽列组合)以及响应式导航栏。

探索技术与生活 2682

css 网格布局_CSS网格布局Fr单元指南

CSS网格布局模块附带了一个名为fr unit的新CSS 单元 。 fr尽可能简单,是“ fraction”一词的缩写 。 新的单元可以将网格快速切成比例的列或行。 结果,创建完全响应和灵活的网格几乎变得轻而易举。 由于分数单位是与Grid Layout模块一起引入的,因此可以在支持CSS grid的任何浏览器中使用它。 如果您还想支持较旧的浏览器,这里有一个很棒的CSS网格polyfil...

cune1359的博客 1342

CSS Grid 网格布局详解

网格布局(Grid)是CSS中最强大的布局方案。它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。上图这样的布局,就是 Grid 布局的拿手好戏。Grid 布局与 Flex 布局 有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。Flex 布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一维布局。Grid 布局则是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局。Grid 布局远比 Flex 布局强大。

不想学习的打工人的博客 3942

grid布局使用总结

父元素属性: 属性 说明 display 设置grid布局

我是一颗草,哪里荒凉往哪里长 6874

网格布局Grid最强大的CSS布局方案学习笔记,真是经典中的经典

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。一个人可以走的很快,但一群人才能走的更远。

m0_60388419的博客 2490

【AI绘图进阶指南】Latent Diffusion Model核心组件解析——从理论到实践

本文深入解析Latent Diffusion Model(LDM)的核心组件,包括Autoencoder、Denoiser和Conditioning Encoder的工作原理及实践应用。通过理论结合代码示例,揭示LDM如何高效处理图像生成任务,并优化AI绘图流程,为开发者提供从理论到实践的进阶指南。

weixin_42628941的博客 359

2020共享单车数据集

2020共享单车数据集

上一篇: css弹性盒子
下一篇: Tomcat并发量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值