絕對定位實現(xiàn)九宮格布局
1. 絕對定位
通過對九宮格的觀察可以發(fā)現(xiàn),每個格子都是固定在每隔三分之一的那么一個位置,這種規(guī)律性導(dǎo)致可以使用絕對定位來實現(xiàn)九宮格:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 在這里用link標簽引入中文漸變色 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chinese-gradient">
<style>
/* 清除默認樣式 */
* { padding: 0; margin: 0; }
/* 全屏顯示 */
html, body, ul { height: 100% }
/* 父元素 */
ul {
/* 清除默認樣式 */
list-style: none
}
/* 子元素 */
li {
/* 絕對定位 */
position: absolute;
/* 寬高都是33% */
width: 33%;
height: 33%;
/* 紅色漸變 */
background: var(--火紅)
}
/* 第一個子元素 */
li:first-child {
top: 0;
left: 0;
}
/* 第二個子元素 */
li:nth-child(2) {
top: 0;
left: 33.33%;
}
/* 第三個子元素 */
li:nth-child(3) {
top: 0;
left: 66.66%;
}
/* 第四個子元素 */
li:nth-child(4) {
top: 33.33%;
left: 0;
}
/* 第五個子元素 */
li:nth-child(5) {
top: 33.33%;
left: 33.33%;
}
/* 第六個子元素 */
li:nth-child(6) {
top: 33.33%;
left: 66.66%;
}
/* 第七個子元素 */
li:nth-child(7) {
top: 66.66%;
left: 0;
}
/* 第八個子元素 */
li:nth-child(8) {
top: 66.66%;
left: 33.33%;
}
/* 第九個子元素 */
li:last-child {
top: 66.66%;
left: 66.66%;
}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>
運行結(jié)果:
2. 小結(jié)
絕對定位的缺點就是相對于其他方式顯得較為繁瑣,而且間距不能靠某個屬性來控制,而是靠改變寬高和位置來控制間距,下一小節(jié)我們來講一下如何用彈性盒子去實現(xiàn)九宮格布局。