今天学习了一下grid布局,不得不感叹它比flex布局更加强大,也更加的灵活。下面用grid实现了一个响应式布局。有错误的地方欢迎大家指正。
效果图:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>css3实现响应式布局</title>
<style>
.item1 {
background-color: aqua;
grid-area: header;
}
.item2 {
background-color: blueviolet;
grid-area: nav;
}
.item3 {
background-color: chocolate;
grid-area: content;
}
.item4 {
background-color: darkseagreen;
grid-area: footer;
}
.container {
width: 100%;
min-height: 300px;
display: grid;
grid-template-columns: 1fr;
/* fr单位代表网格容器中可用空间的一等份。 */
grid-template-rows: 50px auto 1fr 50px;
grid-template-areas: "header" "nav" "content" "footer";
grid-gap:10px;
}
@media (min-width: 300px) {
.container {
grid-template-columns: auto 1fr;
grid-template-rows: 50px auto 50px;
grid-template-areas: "nav header" "nav content" "nav footer";
}
}
@media (min-width: 400px){
.container{
grid-template-columns: auto 1fr;
grid-template-rows: 50px auto 50px;
grid-template-areas: "header header" "nav content" "footer footer";
}
}
</style>
</head>
<body>
<section class="container">
<div class="item1">header</div>
<div class="item2">nav</div>
<div class="item3">content</div>
<div class="item4">footer</div>
</section>
</body>
</html>
文章推荐:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。