網格布局實現居中布局
1. 前言
本小節,我們將采用網格布局來實現居中布局的樣式。
網格其實就是最近比較火的 Grid 布局,原理就是把父元素分割成一個個的小格子。
然后子元素指定自己具體在那個格子上,有點類似于表格布局。
2. 實例代碼
通過網格布局實現移動端居中布局。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 清除默認樣式 */
* { padding: 0; margin: 0; }
/* 令html和body全屏顯示, 并有一個灰色背景 */
html, body { height: 100%; background: gray; }
/* 中央盒子的直接父元素 */
body {
/* 令其變成網格布局 */
display: grid;
/* 令子元素居中 */
place-items: center;
}
.center {
/* 不用給寬高,但是可以給個內邊距防止內容與盒子過于貼合 */
padding: 10px;
/* 白色背景 */
background: white;
}
</style>
</head>
<body>
<div class="center">用內容撐開盒子</div>
</body>
</html>
運行結果:
估計大多數人都不太熟悉這個網格布局,它有些類似于表格布局,但比表格布局更加強大。
如果同學們對Grid不是很熟悉可以參考 CSS3 Grid 布局。
還有很多人擔心 Grid 的兼容性:
其實可以看到絕大部分瀏覽器都已經支持了,即使是最被吐槽的 IE 瀏覽器,也可以通過增加 -ms-前綴來進行支持。
例如:display: -ms-grid;
3. 小結
Grid 布局是近些年來逐漸興起的一種布局方式,它的功能十分強大。
用它可以輕松的實現響應式布局,以前要很多行代碼很多行判斷的復雜布局,在掌握了 Grid 之后也都不在話下。