gpt4 book ai didi

html - CSS:calc() 不遵守 Firefox 和 IE 中的底部填充

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:26 25 4
gpt4 key购买 nike

我在 Firefox 32 和 IE 11 中使用 calc() 时遇到问题,div 的底部填充没有得到尊重,在 Chrome 和 Opera 中一切正常。

主要内容应具有固定高度且内容应可滚动。

这是我的 html 代码:

<body>
<div class="main-content">
<div class="header">header</div>
<div class="content">
content
<div class="long-content">
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
long content<br />
<button type="button">Button</button>
</div>
</div>
</div>

和CSS:

.main-content {
width: 100%;
background-color: #595959;
height: 300px;
}

.header {
background-color: #000000;
height: 50px;
}

.content {
background-color: red;
padding: 15px;
height: calc(100% - 50px);
overflow: auto;
position: relative;
}

我该如何解决这个问题?

DEMO

最佳答案

您遇到的问题是 Chrome 解释规范的方式与 FF 和 IE 不同。正如您在此 answer 中看到的那样在错误报告中 Bug 748518 - padding-bottom is ignored with overflow:auto;目前尚不完全清楚谁是正确的。

如果您想避免使用内部容器,您可以使用 :after 伪类和 content 属性在内容之后添加一个元素。

.content:after {
content: "";
display: block;
height: 20px;
width: 100%;
}

.content {
background-color: red;
padding-top: 20px;
padding-left: 20px;
height: calc(100% - 50px);
overflow: auto;
position: relative;
}

jsfiddle demo

您肯定需要检查浏览器兼容性是否满足您的要求。但是因为你也使用 calc 这应该没问题。

至少可以解决 bottom 处的 padding右侧的 padding 也可能有解决方案 方面,但正如您刚刚谈到的 bottom 方面,我没有考虑过这种情况。

关于html - CSS:calc() 不遵守 Firefox 和 IE 中的底部填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25639823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com