grid-area
一般搭配grid-template-areas
一起使用,详情点击,并搜索在网格布局中自定义摆放元素
justify-self/align-self
一般用于项目在容器内的排放位置grid-area
,非简写形式的使用我们可以看简介中的文章grid-row-start
、grid-row-end
、grid-column-start
、grid-column-end
的合并简写,语法如下grid-area: / / /
<body>
<style>
* {
list-style: none;
margin: 0;
padding: 0;
}
ul {
width: 600px;
height: 600px;
border: 3px solid rebeccapurple;
font-weight: bold;
color: white;
text-align: center;
line-height: 100px;
font-size: 40px
}
li:nth-child(even) {
background-color: red;
}
li:nth-child(odd) {
background-color: #000000;
}
ul{
display: grid;
grid-template-rows: repeat(3,1fr);
grid-template-columns: repeat(3,1fr);
gap: 20px 10px;
}
li:nth-child(1) {
grid-area: 1/1/3/3;
}
style>
<ul>
<li>1li>
<li>2li>
<li>3li>
<li>4li>
<li>5li>
<li>6li>
ul>
body>
效果如下
根据grid-area
属性值,我们就可以看到项目序号为1的盒子占据了4个空间
start | end | center | stretch
justify-self
用于调整水平方向上面的布局,如果用上了当前的属性,那么水平方向上的align-self
用于调整垂直方向上面的布局ul{
display: grid;
grid-template-rows: repeat(3,1fr);
grid-template-columns: repeat(3,1fr);
gap: 20px 10px;
}
li:nth-child(1) {
justify-self: start;
align-self: start;
}
ul{
display: grid;
grid-template-rows: repeat(3,1fr);
grid-template-columns: repeat(3,1fr);
gap: 20px 10px;
}
li:nth-child(1) {
justify-self: end;
align-self: end;
}
ul{
display: grid;
grid-template-rows: repeat(3,1fr);
grid-template-columns: repeat(3,1fr);
gap: 20px 10px;
}
li:nth-child(1) {
justify-self: center;
align-self: center;
}
ul{
display: grid;
grid-template-rows: repeat(3,1fr);
grid-template-columns: repeat(3,1fr);
gap: 20px 10px;
}
li:nth-child(1) {
/* 水平方向拉伸 */
justify-self: stretch;
/* 垂直方向拉伸 */
align-self: center;
}
这个属于justify-self和align-self的缩写,他的摆放是先水平,然后再垂直
li:nth-child(1) {
/* 水平方向拉伸 */
justify-self: stretch;
/* 垂直方向拉伸 */
align-self: center;
}
可以写成
li:nth-child(1) {
place-self: stretch stretch;
}