外边距的作用
1. 前言
为什么要有一个合适的外边距呢?
我们在主盒子里面写上一些文字看看:
2. 加入文字
<!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全屏显示 */
html, body { height: 100% }
/* 设置父元素为相对定位 */
body { position: relative; }
/* 上面的那栏 */
.top {
/* 设置为固定定位 */
position: fixed;
/* 距离上边左边为0 */
top: 0;
left: 0;
/* 宽度铺满屏幕 */
width: 100%;
/* 给个合适的高度 */
height: 80px;
/* 绿色背景 */
background: var(--极光绿);
}
.main {
/* 给个合适的上下边距 */
margin: 90px 0;
/* 给个合适的高度 */
height: 1000px;
/* 渐变背景 */
background: var(--灯红酒绿);
}
/* 下面的那栏 */
.bottom {
/* 设置为固定定位 */
position: fixed;
/* 距离下边左边为0 */
bottom: 0;
left: 0;
/* 宽度铺满屏幕 */
width: 100%;
/* 给个合适的高度 */
height: 80px;
/* 黄色背景 */
background: var(--芒果黄);
}
div {
/* 白色文字 */
color: white;
/* 字体大小 */
font-size: 30px
}
</style>
</head>
<body>
<div class="top">无论你怎么滑动屏幕,我都是固定不变的</div>
<div class="main">
这里是主盒子
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
这里是主盒子
</div>
<div class="bottom">无论你怎么滑动屏幕,我都是固定不变的</div>
</body>
</html>
运行结果:
3. 去掉主盒子的外边距
<!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全屏显示 */
html, body { height: 100% }
/* 设置父元素为相对定位 */
body { position: relative; }
/* 上面的那栏 */
.top {
/* 设置为固定定位 */
position: fixed;
/* 距离上边左边为0 */
top: 0;
left: 0;
/* 宽度铺满屏幕 */
width: 100%;
/* 给个合适的高度 */
height: 80px;
/* 绿色背景 */
background: var(--极光绿);
}
.main {
/* 给个合适的高度 */
height: 1000px;
/* 渐变背景 */
background: var(--灯红酒绿);
}
/* 下面的那栏 */
.bottom {
/* 设置为固定定位 */
position: fixed;
/* 距离下边左边为0 */
bottom: 0;
left: 0;
/* 宽度铺满屏幕 */
width: 100%;
/* 给个合适的高度 */
height: 80px;
/* 黄色背景 */
background: var(--芒果黄);
}
div {
/* 白色文字 */
color: white;
/* 字体大小 */
font-size: 30px
}
</style>
</head>
<body>
<div class="top">无论你怎么滑动屏幕,我都是固定不变的</div>
<div class="main">
这里是主盒子
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
这里是主盒子
</div>
<div class="bottom">无论你怎么滑动屏幕,我都是固定不变的</div>
</body>
</html>
运行结果:
4. 小结
为什么去掉外边距文字就消失了呢?原来,去掉了外边距就相当于把盒子延展到了最顶端和最底端,因为上下两栏使用了固定定位。
固定定位会导致元素脱离默认文档流,也就是说上下两栏不在默认文档流里面占用任何空间,所以上面的文字和下面的文字就会被挡住。
所以我们应该给主盒子一个合适的上下边距,来绕开被挡住的部分。