css中grid属性的用法介绍(代码)

本篇文章给大家带来的内容是关于css中grid属性的用法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

grid布局

加在父元素上的属性

grid-template-columns/grid-template-rows

定义元素的行或列的宽高

立即学习“前端免费学习笔记(深入)”;

如果父元素被等分成了9等分,则,不管有多少个子元素,都显示9等分

grid-template-columns: 33% 33% 33%;可以写成grid-template-columns:repeat(3, 33%);

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container1 {  grid-template-columns: 33% 33% 33%;  grid-template-rows: 33% 33% 33%;}

3055378240-5bc6de9adc676_articlex.png

grid-template-areas

父元素的grid-template-areas配合子元素的grid-area定义网格区域

一个句点表示一个空的网格单元

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container2 {  grid-template-columns: 1fr 1fr 1fr 1fr;  grid-template-rows: 1fr 1fr 1fr;  grid-template-areas: "header header . footer"    "main main . sidebar"    "main main . sidebar";}.container2 .item-1 {  grid-area: header;}.container2 .item-2 {  grid-area: main;}.container2 .item-3 {  grid-area: sidebar;}.container2 .item-4 {  grid-area: footer;}
header
main
sidebar
footer

67490298-5bc6dea809ffb_articlex.png

grid-column-gap/grid-row-gap/grip-gap

指网格线的大小,也可以说是网格子项之间的间距

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container3 {  grid-template-columns: repeat(3, 30%);  grid-template-rows: repeat(3, 30%);  grid-column-gap: 2%;  grid-row-gap: 2%;}

1712729364-5bc6deb317842_articlex.png

justify-items/align-items

justify-items让子元素的内容和纵向列轴对齐

align-items让子元素的内容和横向行轴对齐

两个属性都有四个值

我的例子中,为了方便对比,嵌套了grid网格

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container4 {  width: 400px;  height: 200px;  grid-template-columns: repeat(4, 25%);  grid-template-rows: repeat(2, 50%);}.container4 .item {  display: grid;}.container4 .item p {  background-color: coral;  border: 1px dashed #aaa}.container4 .item-1 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: start;}.container4 .item-2 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: end;}.container4 .item-3 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: center;}.container4 .item-4 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  justify-items: stretch;}.container4 .item-5 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: start;}.container4 .item-6 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: end;}.container4 .item-7 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: center;}.container4 .item-8 {  grid-template-columns: repeat(2, 50%);  grid-template-rows: repeat(2, 50%);  align-items: stretch;}
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list

3139887500-5bc6dec2c1239_articlex.png

justify-content/align-content

设置子元素的对齐方式,justify表示纵向,align表示横向

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container5 {  width: 700px;  height: 200px;  grid-template-columns: repeat(7, 14%);  grid-template-rows: repeat(2, 50%);}.container5 .item {  display: grid;}.container5 .item p {  background-color: coral;  border: 1px dashed #aaa}.container5 .item-1 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: start;}.container5 .item-2 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: end;}.container5 .item-3 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: center;}.container5 .item-4 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: stretch;}.container5 .item-5 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: space-around;}.container5 .item-6 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: space-between;}.container5 .item-7 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  justify-content: space-evenly;}.container5 .item-8 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: start;}.container5 .item-9 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: end;}.container5 .item-10 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: center;}.container5 .item-11 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: stretch;}.container5 .item-12 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: space-around;}.container5 .item-13 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: space-between;}.container5 .item-14 {  grid-template-columns: repeat(2, 40%);  grid-template-rows: repeat(2, 40%);  align-content: space-evenly;}
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list
list

269034767-5bc6deda1b34b_articlex.png

grid-auto-columns/grid-auto-rows

grid-column后面的值如果是1 / 2形式,表示的是从第1列网格线开始到第2列网格线结束,如果这个属性定义的网格超出了父元素的范围,则会自动生成隐式网格

grid-auto-columns和grid-auto-rows两个属性来指定这些隐式网格轨迹的宽度

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container6 {  width: 120px;  height: 180px;  grid-template-columns: 60px 60px;  grid-template-rows: 90px 90px;  grid-auto-columns: 60px;}.container6 .item-1 {  grid-column: 1 / 2;  grid-row: 2 / 3;  border: 1px solid #ccc;}.container6 .item-2 {  grid-column: 5 / 6;  grid-row: 2 / 3;  border: 1px solid #ccc;}
1/2&2/3
5/6&2/3

2302366734-5bc6dee9667e8_articlex.png

3646109696-5bc6def2b2782_articlex.png

grid-auto-flow

没有网格元素的时候,自动排列

row表示从左到右排列,column表示从上到下排列

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container7 {  display: grid;  width: 200px;  height: 40px;  grid-template-columns: 40px 40px 40px 40px 40px;  grid-template-rows: 40px 40px;  /* grid-auto-flow: row; */  grid-auto-flow: column;}.container7 .item-1 {  grid-column: 1;  grid-row: 1 / 3;}.container7 .item-5 {  grid-column: 5;  grid-row: 1 / 3;}
1
2
3
4
5

2108510945-5bc6df02ee132_articlex.png

636158564-5bc6df0b3e015_articlex.png

加在子元素上的属性

grid-column-start/grid-column-end/grid-row-start/grid-row-end/grid-column/grid-row

定义网格开始或者结束的位置

值为数字,表示从这条线开始。值为span加数字,表示覆盖了这条线的位置

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container8 {  margin-top: 20px;  grid-template-columns: repeat(5, 20%);  grid-template-rows: repeat(5, 20%);}.container8 .item-1 {  grid-column-start: 2;  grid-column-end: 4;  grid-row-start: 1;  grid-row-end: 2;}.container8 .item-2 {  grid-column-start: 4;  grid-column-end: span 5;  grid-row-start: 2;  grid-row-end: span 5;}.container8 .item-3 {  grid-column: 1 / span 2;  grid-row: 2 / span 4;}
item-1
item-2
item-3

4142444002-5bc6df196fa88_articlex.png

1801515800-5bc6df2167efb_articlex.png

justify-self/align-self

网格子项内容与格线对齐

.container {  width: 200px;  height: 200px;  display: grid;  background-color: coral;  margin: 10px;}.container .item {  border: 1px solid #ccc;  background-color: chocolate;}.container9 {  width: 400px;  height: 200px;  grid-template-columns: repeat(4, 25%);  grid-template-rows: repeat(2, 50%);}.container9 .item-1 {  justify-self: start;}.container9 .item-2 {  justify-self: end;}.container9 .item-3 {  justify-self: center;}.container9 .item-4 {  justify-self: stretch;}.container9 .item-5 {  align-self: start;}.container9 .item-6 {  align-self: end;}.container9 .item-7 {  align-self: center;}.container9 .item-8 {  align-self: stretch;}
item-1
item-2
item-3
item-4
item-5
item-6
item-7
item-8

2711879531-5bc6df30eaa16_articlex.png

3292176044-5bc6df3a33b07_articlex.png

以上就是css中grid属性的用法介绍(代码)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:02:17
下一篇 2025年12月24日 03:02:34

相关推荐

  • css3如何实现图片滤镜效果?filter滤镜属性实现(图文详解)

    css3如何实现图片滤镜效果?其实很简单css3 filter属性就可以实现好几种滤镜效果。本篇文章就给大家介绍css3 filter属性可以实现的滤镜效果有哪些,这些图片滤镜效果是如何实现的。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先,我们先建立一个demo,代码如下:…

    2025年12月24日 好文分享
    000
  • 如何使用纯CSS实现一把雨伞开合的动画效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现一把雨伞开合的动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 do…

    2025年12月24日
    000
  • css怎么给图片添加阴影效果?图片添加阴影的两种方法(代码实例)

    css可以实现很多的图片效果,图片阴影效果就是其中之一,那么css如何给图片添加阴影效果?本篇文章就给大家介绍如何使用css给图片添加阴影(附代码),让大家了解css给图片加阴影的两种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。 首先我们来看看css给图片添加阴影效果的第一种…

    2025年12月24日
    000
  • CSS3学习之页面加载动画(四)

    本篇文章再给大家分享6种css3的页面加载动画。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在之前的文章【CSS3学习之页面加载动画(三)】中又分享了6个CSS3的加载动画,今天继续分享(标题接上一次),图片看得不真切。 十七、效果十七 三个小球,纵向居中,间距撑开,依次改变小…

    2025年12月24日 好文分享
    000
  • CSS3学习之页面加载动画(五)

    之前发了四篇,二十二个效果,本篇文章再给大家分享6种css3的页面加载动画,总计二十八个页面加载动画效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在之前的文章【CSS3学习之页面加载动画(四)】中又分享了6个CSS3的加载动画,今天继续分享(标题接上一次)。 二十三、效果二…

    2025年12月24日 好文分享
    000
  • CSS中margin边界叠加问题及解决方案

    本篇文章就给大家介绍css中margin边界叠加问题及解决方案 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 你对CSS的margin边界叠加的概念是否了解,这里和大家分享一下,当一个元素出现在另一个元素上面时,第一个元素的底边界与第二个元素的顶边界发生叠加。 CSS的marg…

    2025年12月24日 好文分享
    000
  • css3实现可以计算的自适应布局—calc()

    本篇文章就给大家介绍css3实现可以计算的自适应布局—calc()。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 开始我们需要先了解什么是calc() ,calc()是一个CSS函数,你可以使用calc()给元素的margin、pading、width等属性设置 而且你还可以在一…

    2025年12月24日 好文分享
    000
  • HTML+CSS制作简单下拉菜单的实例代码

    在页面布局时,经常会用到下拉列表,作为web前端开发人员,你知道html下拉菜单怎么做吗?这篇文章就和大家分享html,css下拉菜单的代码,有一定的参考价值,感兴趣的朋友可以参考一下。 在制作HTML下拉菜单时,会用到很多CSS属性,比如:hover,list-style,float浮动,disp…

    2025年12月24日
    000
  • 如何使用纯CSS实现飞机舷窗风格的toggle控件

    本篇文章给大家带来的内容是关于如何使用纯css实现飞机舷窗风格的toggle控件,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • CSS样式类的讲解(附实例)

    本篇文章给大家带来的内容是关于css样式类的讲解(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS 概述 CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是…

    2025年12月24日 好文分享
    000
  • CSS样式类的实例代码(导航栏、分页、层级选择器)

    本篇文章给大家带来的内容是关于css样式类的实例代码(导航栏、分页、层级选择器),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 导航栏 拥有易用的导航条对于任何网站都很重要。通过 CSS,您能够把乏味的 HTML 菜单转换为漂亮的导航栏。导航栏需要标准的 HTML 作为基础。在我们…

    2025年12月24日
    000
  • css中浮动的label的介绍(附案例)

    本篇文章给大家带来的内容是关于css中浮动的label的介绍(附案例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在web项目中,有一个很重的模块就是登陆/注册模块,这个模块的主体部分就是一个form表单,这个form表单包含两个重要input组(用户名/密码),每个input…

    好文分享 2025年12月24日
    000
  • CSS中filter属性定义了元素的可视效果的介绍

    本篇文章给大家带来的内容是关于css中filter属性定义了元素的可视效果的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 blur 给图像设置高斯模糊。”radius”一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊。 如果…

    2025年12月24日 好文分享
    000
  • css中Flex布局要素的介绍(附代码)

    本篇文章给大家带来的内容是关于css中flex布局要素的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 flex布局为 “弹性布局”,任何一个元素都可以通过设置css属性 display:flex; webkit内核浏览器为 display: …

    好文分享 2025年12月24日
    000
  • 纯CSS3实现页面loading加载动画效果(附代码)

    打开页面时,经常会遇到页面正在loading(加载)的情况,作为一个前端开发人员,你知道如何用css3实现页面加载动画效果吗?这篇文章就和大家分享一个即炫酷又实用的css3 loading加载动画效果的代码,有一定的参考价值,感兴趣的朋友可以看看。 制作页面loading 加载动画需要用到很多CSS…

    2025年12月24日
    000
  • css中display属性的介绍(附实例)

    本篇文章给大家带来的内容是关于css中display属性的介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css定位属性Positioning display: none 不再页面渲染元素 css-test .content { display: none; } 这一…

    2025年12月24日
    000
  • css实现文字溢出省略号的四种方法(附代码)

    本篇文章给大家带来的内容是关于css实现文字溢出省略号的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在项目中有涉及实现一行或者第几行后加省略号,在实现第几行后加省略号的时候,使用的是-webkit-line-clamp、-webkit-box-orient属性…

    2025年12月24日
    000
  • css专业术语有哪些?css专业术语介绍

    本篇文章给大家带来的内容是关于css专业术语有哪些?css专业术语介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1. 属性 如height、color等,称作css的属性。 2. 值 在css中,如:10px, 50%, #ccc等这些都称作css的值。比较常见的类型值有:整…

    好文分享 2025年12月24日
    000
  • CSS3学习之页面加载动画(一)

    本篇文章就给大家分享四种css3的页面加载动画。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 前两天从一个网站中看到了一些比较好的loading动画效果,是用纯CSS3来写的,感觉不错,就尝试着照着效果来自己写出来。 在开始之前,先复习一个小知识:CSS3新增的关键帧动画,可以用…

    2025年12月24日 好文分享
    000
  • CSS3学习之页面加载动画(二)

    本篇文章给大家分享6种css3的页面加载动画。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在之前的文章【CSS3学习之页面加载动画(一)】中已经分享了四个CSS3的加载动画,今天继续(标题接上一次)。 请注意:代码中的关键帧动画有的用的linear曲线,而有的用的是ease曲线…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信