html - 如何删除网页顶部不必要的空格?
问题描述
我有两个 div,如下所示。我想margin-top
在两者之间创建 5 px。然而margin-top
,内部 div 会导致外部 div 顶部出现不必要的边距,从而导致页面顶部出现不必要的边距。将边框属性添加到外部 div 解决了这个问题,我还可以通过其他技巧来修复它,比如定位和填充到外部 div。但是我很想知道是什么导致了这个问题?
<div class="outer">
<div class="inner">
</div>
</div>
这是CSS
* {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
.outer{
width:100%;
height:200px;
background:black;
}
.inner{
width:100%;
height:100px;
margin-top:5px;
background:red;
}
* {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
.outer {
width: 100%;
height: 200px;
background: black;
}
.inner {
width: 100%;
height: 100px;
margin-top: 10px;
background: red;
}
<div class="outer">
<div class="inner">
</div>
</div>
解决方案
问题是内部 div 位于外部的最开始。一个技巧是添加padding-top
到外部 div:
.outer{
/* other stuff */
padding-top: 1px;
}
.inner{
/* other stuff */
margin-top: 4px;
}
或者把所有5px
的padding-top
.outer{
/* other stuff */
padding-top: 5px;
}
或者您可以在内部 div 之前使用另一个元素,例如hr
<div class="outer">
<hr>
<div class="inner">
</div>
</div>
但最好的技巧是(正如穆罕默德所说)制作外部 div inline-block
。
.outer{
/* other stuff */
display: inline-block;
}
推荐阅读
- javascript - 有没有办法引用在变量中声明的函数?
- swift - 在 iOS 应用程序中查找文件
- c++ - 如何知道 Windows 中初始即插即用枚举何时完成
- angularjs - 如何在控制器中使用元素?
- reactjs - React - 更新具有默认值的受控元素
- android - 如何解决firebase问题:“创建项目时出现未知错误。再试一次。”?
- vue.js - 如何将 pug 与电子 vue 一起使用?
- laravel - 我想在 Laravel 中的 update_at 列使用碳 24 小时后启用该章节
- python - 使用美丽的汤进行网络抓取 - 我如何获得所有类别
- firmware - UEFI 可变大小