今天學習了一下grid佈局,不得不感嘆它比flex佈局更增強大,也更加的靈活。下面用grid實現了一個響應式佈局。有錯誤的地方歡迎你們指正。
效果圖:css
<!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>
文章推薦:html