html - 为什么当溢出设置为“可见”时我的 div 会缩小,但当 div 设置为溢出或自动时会扩展?
问题描述
我在这个项目中遇到了一个问题,其中一个 div 似乎与它上面的 div 有一个差距。经过调试,我发现差距不仅在顶部,而且在底部。当我添加overflow:auto
oroverflow:hidden
时,神秘的间隙消失了,并且 div 触摸(根据需要),但是当我设置overflow:visible
或根本不设置它时,顶部和底部大约有 40px。为什么要这样做?
例如,完整的 JSFiddle,只需添加overflow:auto
到 CSS 中的“英雄容器”即可“修复”它。
#header{
height: 50px;
background-color: #05568D;
border-radius: 10px 10px 0px 0px;
position: relative;
}
#header > ul{
list-style-type: none;
padding: 0px 20px 0px 20px;
margin: 0px;
background-color:darkmagenta;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
#header > ul > li{
padding: 0px 10px 0px 10px;
color: white;
font-size: 20px;
float: left;
background-color: red;
}
#hero{
background-color: white;
border-radius: 0px 0px 10px 10px;
}
#hero-container{
margin: 0px 100px 0px 100px;
background-color: red;
overflow: visible;
}
body{
background: #0769AD;
margin: 0;
padding: 0;
font-family: 'Teko', sans-serif;
}
.container{
width: 96%;
margin: 0 auto;
}
<div id="header" class="container">
<ul>
<li>Download</li>
<li>API Documentation</li>
<li>Blog</li>
<li>Plugins</li>
<li>Browser Support</li>
</ul>
</div>
<div id="hero" class="container">
<div id="hero-container">
<p>This is a paragraph</p>
</div>
</div>
有人可以向我解释这个逻辑,因为我很困惑。如果它只是 a<p>
并且它的父母的高度是偶数,那么需要溢出吗?
解决方案
因为<p></p>
有默认的顶部和底部边距,如果你设置*{margin:0;padding:0;box-sizing:border-box;}
你就没有这个问题。
推荐阅读
- reactjs - Typescript React useEffect Deps 问题
- laravel - 十月CMS:Ajax 处理程序
- sql - 如何在 SQL Server 和 Postgresql 中实现这一点
- frontend - 在 Ubuntu 虚拟机上进行测试时出现 IE 11 问题
- c# - 创建位图的设置参数问题
- asp.net - 在 Visual Studio 中发布后检索 .aspx.vb 文件
- angular - 无法通过单选按钮使用数字输入
- python-3.x - 在父进程中捕获子进程异常
- sqlite - 如何在颤动的沼泽中为双值创建一个列
- excel - 为相邻列值创建多个时间戳