一、grid布局初体验
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo19</title>
<style>
.container {
display: grid;
width: 800px;
height: 300px;
border: 1px solid blue;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 100px 100px 100px;
}
.item {
background-color: red;
text-align: center;
line-height: 100px;
border: 1px solid black;
}
</style>
</head>
<body>
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
</div>
</body>
</html>
效果如下:
也可以按比例分配:
grid-template-columns: 1fr 2fr 1fr;
效果如下:
修改:
grid-auto-flow: column;
效果如下:
二、案例——网页布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo19</title>
<style>
* {
margin: 0px;
padding: 0px;
}
.container {
display: grid;
width: 800px;
margin: 0px auto;
border: 1px solid blue;
grid-template-columns: 600px 200px;
grid-template-rows: 80px 200px 200px 200px 50px;
}
.item {
text-align: center;
border: 1px solid red;
}
.first {
grid-column: 1 / 3;
}
.second {
grid-column: 1 / 2;
}
.third {
grid-column: 1 / 2;
}
.fourth {
grid-column: 1 / 2;
}
.fifth {
grid-column: 2 / 3;
grid-row: 2 / 5;
}
.sixth {
grid-column: 1 / 3;
}
</style>
</head>
<body>
<div class="container">
<div class="item first">logo</div>
<div class="item second">docs</div>
<div class="item third">blogs</div>
<div class="item fourth">videos</div>
<div class="item fifth">aside</div>
<div class="item sixth">footer</div>
</div>
</body>
</html>
效果如下: