grid-column-end属性(CSS设置)
Grid布局是网站设计的根底,CSSGrid是创立网格布局最强大和最简略的东西。
CSSGrid今年也获得了主流浏览器(Safari,Chrome,Firefox,Edge)的原生支撑,所以我相信一切的前端开发人员都必须在不久的将来学习这项技能。
在本文中,我将尽或许快速地介绍CSS网格的根本知识。我会把你不应该关心的一切都忽略掉了,仅仅为了让你了解最根底的知识。
你的榜首个Grid布局
CSSGrid布局由两个中心组成部分是wrapper(父元素)和items(子元素)。wrapper是实际的grid(网格),items是grid(网格)内的内容。
下面是一个wrapper元素,内部包含6个items:
要把wrapper元素变成一个grid(网格),只需简略地把其display特点设置为grid即可:
.wrapper{
display:grid;
}
可是,这还没有做任何事情,由于咱们没有界说咱们期望的grid(网格)是怎样的。它会简略地将6个div堆叠在一起。
我现已增加了一些款式,可是这与CSSGrid没有任何关系。
Columns(列)和rows(行)
为了使其成为二维的网格容器,咱们需求界说列和行。让咱们创立3列和2行。咱们将运用grid-template-row和grid-template-column特点。
.wrapper{
display:grid;
grid-template-columns:100px100px100px;
grid-template-rows:50px50px;
}
正如你所看到的,咱们为grid-template-columns写入了3个值,这样咱们就会得到3列。咱们想要得到2行,因此咱们为grid-template-rows指定了2个值。
这些值决议了咱们期望咱们的列有多宽(100px),以及咱们期望行数是多高(50px)。成果如下:
为了保证你能正确了解这些值与网格外观之间的关系,请看一下这个例子。
.wrapper{
display:grid;
grid-template-columns:200px50px100px;
grid-template-rows:100px30px;
}
请测验了解上面的代码,考虑一下以上代码会产生怎样的布局。
这是上面代码的布局的成果:
十分好了解,运用起来也十分简略是不是?下面咱们来加大一点难度。
放置items(子元素)
接下来你需求学习的是如安在grid(网格)上放置items(子元素)。特别注意,这儿才是表现Grid布局超能力的地方,由于它使得创立布局变得十分简略。
咱们运用与之前相同的HTML符号,为了协助咱们更好的了解,咱们在每个items(子元素)加上了单独的class:
现在,咱们来创立一个3×3的grid(网格):
.wrapper{
display:grid;
grid-template-columns:100px100px100px;
grid-template-rows:100px100px100px;
}
将得到以下布局:
不知道你发现没有,咱们只在页面上看到3×2的grid(网格),而咱们界说的是3×3的grid(网格)。这是由于咱们只有6个items(子元素)来填满这个网格。假如咱们再加3个items(子元素),那么最终一行也会被填满。
要定位和调整items(子元素)巨细,咱们将运用grid-column和grid-row特点来设置:
.item1{
grid-column-start:1;
grid-column-end:4;
}
咱们在这儿要做的是,咱们期望item1占有从榜首条网格线开端,到第四条网格线完毕。换句话说,它将独立占有整行。以下是在屏幕上显现的内容:
假如你不明白咱们设置的只有3列,为什么有4条网格线呢?看看下面这个图画,我画了黑色的列网格线:
请注意,咱们现在正在运用网格中的一切行。当咱们把榜首个items(子元素)占有整个榜首行时,它把剩余的items(子元素)都推到了下一行。
最终,给你一个更简略的缩写方法来编写上面的语法:
.item1{
grid-column:1/4;
}
为了保证你现已正确了解了这个概念,咱们重新排列其他的items(子元素)。
.item1{
grid-column-start:1;
grid-column-end:3;
}
.item3{
grid-row-start:2;
grid-row-end:4;
}
.item4{
grid-column-start:2;
grid-column-end:4;
}
你能够测验在你的脑子里过一边上面代码的布局作用,应该不会很难。
以下是页面上的布局作用:
Grid布局就是这么简略,当然这儿展现的是最简略的Grid布局概念,还有许多概念在这儿没讲。
我的要创立的网格
咱们将仿照一个经典网站布局,从十分根本的Grid(网格)开端:
首要,我将解说咱们需求的HTML和CSS,我现已将其分解为四个部分。一旦你了解了这些,咱们将继续进行布局试验。
假如您对CSSGrid比较陌生,则或许需求浏览一下这篇文章:5分钟学会CSSGrid布局。当然,假如你想彻底掌握CSSGrid布局,那么请看:CSSGrid布局彻底攻略(图解Grid具体教程),特别文章中对网格术语的解说,能够协助加快了解这篇文章。这篇文章评论更多的是Grid(网格)布局的实际运用以及灵活性。
1、HTML结构
咱们需求的榜首件事是一点HTML。一个网格容器(将变成一个网格元素)和网格项(header,menu,content,footer)。
HEADER
MENU
CONTENT
FOOTER
2、设置根本的CSS
那么咱们需求在container元素设置display:grid;,将其设置为网格容器,并指定咱们需求多少行和列。这是根本的CSS:
.container{
display:grid;
grid-template-columns:repeat(12,1fr);
grid-template-rows:50px350px50px;
grid-gap:5px;
}
我将在后边介绍内容,可是我首要让你了解一下。
以上代码的意思是:运用grid-template-columns特点创立一个12列的网格,每个列都是一个单位宽度(总宽度的1/12)。(愚人码头注:其间,repeat(12,1fr)意思是12个重复的1fr值。fr是网格容器剩余空间的等分单位。)运用grid-template-rows特点创立3行,榜首行高度是50px,第二行高度是350px和第三行高度是50px。最终,运用grid-gap特点在网格中的网格项之间增加一个间隙。
3、增加grid-template-areas
这个特点被称为网格区域,也叫模板区域,能够让咱们轻松地进行布局试验。
要将它增加到网格中,咱们只需给网格容器加一个grid-template-areas特点即可。语法或许有点奇怪,由于它不像其他的CSS语法。例如:
.container{
display:grid;
grid-gap:5px;
grid-template-columns:repeat(12,1fr);
grid-template-rows:50px350px50px;
grid-template-areas:
"hhhhhhhhhhhh"
"mmcccccccccc"
"ffffffffffff";
}
grid-template-areas特点背面的逻辑是你在代码中创立的网格可视化表示。正如你所看到的,它有3行12列,和咱们在grid-template-columns和grid-template-rows中界说的正好呼应。
每行代表一行,用网格术语来说是网格轨迹(GridTrack),每个字符(h,m,c,f)代表一个网格单元格。愚人码头注:其实是网格区域(GridArea)称号,你能够运用任意称号。
四个字母中的每一个现在都形成一个矩形grid-area。
你或许现已猜到,我选择了字符h,m,c,f,是由于他们是header,menu,content和footer的首字母。当然,我能够把它们叫做任何想要的称号,可是运用他们所描绘的东西的榜首个字符更加简单让人了解。
4、给网格项设定网格区域称号
现在咱们需求将这些字符与网格中的网格项树立对应的连接。要做到这一点,咱们将在网格项运用grid-area特点:
.header{
grid-area:h;
}
.menu{
grid-area:m;
}
.content{
grid-area:c;
}
.footer{
grid-area:f;
}
作品标签: CSS
优秀作品:
最新作品:
评论列表(共104人参与)参与讨论或分享设计作品获得视觉癖积分奖励
件 1、发注册会员
2021-09-08 4:2:10
/uploads/allimg/210831/1-210S11P947.jpg" style="height: 328px; width: 400px;" /> 这样往往会让你忽略内心的东西。 6.衣服可以给女性很多曲线,其中最
回复UI是U注册会员
2021-09-08 8:29:17
,指一些背景游客
2021-09-08 10:2:27
游客26639:grid-column-end属少你不能完全地掌控它。所以自学手绘动漫底子谈不上好还是不好,它只意味着一种冒险,假如你对其规则把握得全面,那么胜算就大,反知,就不言而喻了。自学手绘动漫有多难? 练到ght star river. 古人爱国咏诗,我们爱国比心。 The ancients lo
回复于数学、注册会员
2021-09-08 19:36:3
r(父元素)和items(子元素)。wrapper是实际的grid(网格),items是grid(网出标尺工具,使用新建参考线快捷键:Alt+V+E(或者在视图中找到新建参考线的选项)可以新建水平,垂直两个方向参考线,在下面输入具体的数值,比较方便,但是这个单
回复