1. 绝对定位
通过对九宫格的观察可以发现,每个格子都是固定在每隔三分之一的那么一个位置,这种规律性导致可以使用绝对定位来实现九宫格:
<!DOCTYPE html>
<html>
<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: ; margin: ; }
/* 全屏显示 */
html, body, ul { height: }
/* 父元素 */
ul {
/* 清除默认样式 */
list-style: none
}
/* 子元素 */
li {
/* 绝对定位 */
position: absolute;
/* 宽高都是33% */
width: ;
height: ;
/* 红色渐变 */
background: var(--火红)
}
/* 第一个子元素 */
li:first-child {
top: ;
left: ;
}
/* 第二个子元素 */
li:nth-child(2) {
top: ;
left: ;
}
/* 第三个子元素 */
li:nth-child(3) {
top: ;
left: ;
}
/* 第四个子元素 */
li:nth-child(4) {
top: ;
left: ;
}
/* 第五个子元素 */
li:nth-child(5) {
top: ;
left: ;
}
/* 第六个子元素 */
li:nth-child(6) {
top: ;
left: ;
}
/* 第七个子元素 */
li:nth-child(7) {
top: ;
left: ;
}
/* 第八个子元素 */
li:nth-child(8) {
top: ;
left: ;
}
/* 第九个子元素 */
li:last-child {
top: ;
left: ;
}
</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>
运行结果:
2. 小结
绝对定位的缺点就是相对于其他方式显得较为繁琐,而且间距不能靠某个属性来控制,而是靠改变宽高和位置来控制间距,下一小节我们来讲一下如何用弹性盒子去实现九宫格布局。