html - 部分填充和边框 overflow hidden : hidden;

标签 html css

如果我们有以下HTML

<div id="i">
        <a href="#">StackOverflow</a>
</div>

使用以下 CSS

*
{
    margin: 0;
    padding: 0;
}

#i
{
    overflow: hidden;
}

#i a
{
    padding: 20px;
    background: red;
    border: black 1px solid;
}

当我修改 CSS 以打开/关闭 overflow: hidden 时,(如下图所示)我们可以看到顶部和底部的填充和边框overflow设置为hidden时是隐藏的,但允许左右padding和border流动。为什么会这样,我怎样才能允许完整的填充和边框流动。(我不想丢失任何内容,但需要overflow: hidden 作为对常见 *float: * problem 的修复)

Image

这里实际上有 2 个问题,似乎当我们删除 overflow: hidden 时,我们仍然会在浏览器上限处丢失顶部填充,我也不知道为什么会这样。

最佳答案

我相信这是因为 <a>元素是一个 inline元素。如果你制作 <a>一个inline-block (即 display: inline-block ),然后应显示顶部填充。

不过,我不太清楚您所说的“我怎样才能让完整的填充和边框流动”是什么意思。

关于html - 部分填充和边框 overflow hidden : hidden;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28711146/

相关文章:

html - 输入和按钮彼此相邻时的额外空间

css - 为什么我的背景图片在 html5 中不起作用?

asp.net - ajax文本框水印

css - 是否有等效于 fx off 的 css3 动画?

javascript - 如何知道点击事件是否是假冒的?

html - 在 float DIV 中放置相对定位的元素

html - 在 Firefox 中打开开发工具会重新定位我的 CSS

html - 让 WordPress 将帖子作为原始 HTML 直接保存到数据库中,而不是在前端渲染

css - 将 css 文本转换为 : uppercase and capitalize work on any language without changing word meaning

html - 图像在中心和背景渐变后面