display: grid; grid-template-columns: repeat(3, 100px); grid-template-rows: repeat(3, 100px); /* 整个网格划分9个区域,每个区域对应单元格设置名称 */ grid-template-areas: 'a b c' 'd e f' 'g h i';
合并的时候使用 grid-area: 网格名字; 进行合并,例如:
1 2 3 4 5
grid-template-areas: 'a a a' '. . b' '. c c'; /* 合并a单元格 */ grid-area: a;
grid-template-areas: 'a a a a b b' 'a a a a c c' 'd d e f c c'; gap: 10px10px; } .boxdiv:nth-child(1){ background: red; grid-area: a; } .boxdiv:nth-child(2){ background: orange; grid-area: b; } .boxdiv:nth-child(3){ background: yellow; grid-area: c; } .boxdiv:nth-child(4){ background: green; grid-area: d; } .boxdiv:nth-child(5){ background: cyan; } .boxdiv:nth-child(6){ background: purple; } </style> </head>
display: grid; grid-auto-flow: row; } </style> </head> <body> <div class="box"> <div>1 Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cum vero sequi fuga, esse illum enim eveniet obcaecati soluta itaque commodi blanditiis illo fugit autem pariatur eos ratione veritatis labore vel.</div> <div>2 Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta quasi laudantium sequi, explicabo, assumenda deserunt doloribus magnam nostrum, obcaecati eligendi itaque adipisci fuga. Deleniti culpa in maxime perspiciatis odit dignissimos!</div> <div>3 Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci fugit voluptates accusamus quam provident minus. Sunt optio assumenda, amet pariatur quaerat quam! Quibusdam impedit itaque laboriosam saepe corporis nulla nisi.</div> <div>4</div> <div>5</div> <div>6</div> </div> </body> </html>
效果:row
效果:column
2.6 单元格项目对齐
单元格项目对齐 复合属性(★),项目相对于容器(即子元素相对于父元素)。
1 2 3
justify-content: start | end | center | stretch | space-around | space-between | space-evenly; align-content: start | end | center | stretch | space-around | space-between | space-evenly; place-content: <justify-content> <align-content>; /* 复合写法(★) */
说明:
start,对齐容器的起始边框
end,对齐容器的结束边框
center,容器内部居中
stretch,项目大小没有指定时,拉伸占据整个网格容器
space-around,每个项目两个间隔相当。所以,项目之间的间隔比项目与容器边框的间隔大一倍。
space-between,项目与项目的间隔相等,项目与容器边框之间没有间隔(两侧贴边)。
space-evenly,项目与项目的间隔相等,项目与容器边框之间越是同样长度的间隔。
2.7 单元格内容对齐
单元格内容对齐 复合属性(★),内容相对于项目(即内容相对于单元格)。
1 2 3
justify-items: start | end | center | stretch; align-items: start | end | center | stretch; place-items: <justify-items> <align-items>; /* 复合写法(★) */
grid-template-areas: 'a a a a b b' 'a a a a c c' 'd d e f c c'; gap: 10px10px; } .boxdiv:nth-child(1){ background: red; /* 合并网格线 */ grid-column: 1/5; grid-row: 1/3; } .boxdiv:nth-child(2){ background: orange; /* 合并网格线 */ grid-column: 5/7; } .boxdiv:nth-child(3){ background: yellow; /* 合并网格线 */ grid-column: 5/7; grid-row: 2/4; } .boxdiv:nth-child(4){ background: green; /* 合并网格线 */ grid-column: 1/3; } .boxdiv:nth-child(5){ background: cyan; } .boxdiv:nth-child(6){ background: purple; } </style> </head>