为什么 Internet Explorer 8 中没有底部填充?

发布于 2024-11-03 18:35:11 字数 453 浏览 1 评论 0原文

为什么下面的代码在 Internet Explorer 8 中没有底部填充?

HTML:

<div id="wrapper">
    <div class="a">Hello</div>
    <div class="a">Stack</div>
    <div class="a">Overflow</div>
</div>

CSS:

#wrapper {
    border: 1px solid red;
    padding: 10px;
    height: 30px;
    overflow: auto;
}
.a {
    border: 1px solid black;
}

浏览器兼容性有什么解决方法吗?

Why in the following code there is no bottom padding in Internet Explorer 8 ?

HTML:

<div id="wrapper">
    <div class="a">Hello</div>
    <div class="a">Stack</div>
    <div class="a">Overflow</div>
</div>

CSS:

#wrapper {
    border: 1px solid red;
    padding: 10px;
    height: 30px;
    overflow: auto;
}
.a {
    border: 1px solid black;
}

Any workarounds for browser compatibility ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

初心未许 2024-11-10 18:35:11

浏览器对规范的解释?

“scroll”的值会告诉用户代理
支持可见滚动
机制来显示一个以便用户
可以访问剪辑的内容。

从字面上看,这意味着浏览器可以取悦自己,并且只需提供对内容的访问,而不是填充或边框;)

兼容的解决方法:

#scroller {
    border: 1px solid red;
    height: 50px;
    overflow: auto;
}

.wrap {padding: 10px;}

.a {
    border: 1px solid black;
}

HTML:

<div id="scroller">
  <div class="wrap">
    <div class="a">Hello</div>
    <div class="a">Stack</div>
    <div class="a">Overflow</div>
  </div>
</div>

browser interpretation of the specs?

A value of 'scroll' would tell UAs
that support a visible scrolling
mechanism to display one so that users
could access the clipped content.

Taken literally that means they, the browsers, can please themselves and they only have to provide access to the content not the padding or borders ;)

a compatible workaround:

#scroller {
    border: 1px solid red;
    height: 50px;
    overflow: auto;
}

.wrap {padding: 10px;}

.a {
    border: 1px solid black;
}

HTML:

<div id="scroller">
  <div class="wrap">
    <div class="a">Hello</div>
    <div class="a">Stack</div>
    <div class="a">Overflow</div>
  </div>
</div>
寄人书 2024-11-10 18:35:11

脏了怎么办? (哎呀,我是一名程序员,而不是设计师哈哈)。

<style type="text/css">
#wrapper {
    border: 1px solid red;
    padding: 10px;
    height: 30px;
    overflow: auto;
}
.a {
    border: 1px solid black;
}
.b {
    display:none;
}
</style>

<!--[if IE 8]>
<style type="text/css">
.b {
    display:block;
    height: 10px;
}
</style>
<![endif]-->

还有::

<div id="wrapper">
    <div class="a">Hello</div>
    <div class="a">Stack</div>
    <div class="a">Overflow</div>
    <div class="b"></div>
</div>

D

How about going dirty? (Heck, I'm a programmer, not a designer lol).

<style type="text/css">
#wrapper {
    border: 1px solid red;
    padding: 10px;
    height: 30px;
    overflow: auto;
}
.a {
    border: 1px solid black;
}
.b {
    display:none;
}
</style>

<!--[if IE 8]>
<style type="text/css">
.b {
    display:block;
    height: 10px;
}
</style>
<![endif]-->

And:

<div id="wrapper">
    <div class="a">Hello</div>
    <div class="a">Stack</div>
    <div class="a">Overflow</div>
    <div class="b"></div>
</div>

:D

ぽ尐不点ル 2024-11-10 18:35:11

阅读这篇帖子我认为这对我很有帮助,它对我有用

Read this post i think it will be helpful it did the trick for me

2024-11-10 18:35:11

添加显示:块;到 #wrapper {} - 我遇到了完全相同的问题,添加的 padding-bottom 开始在 IE8 下正常工作,其他浏览器不受影响(保持正确的输出)

add display: block; to #wrapper {} - I had exactly the same issue, with this added padding-bottom started to work properly under IE8 and other browsers was not affected (keep the proper output)

青芜 2024-11-10 18:35:11

您只能在 IE8 中添加伪元素 «after»:

<!--[if IE 8]>
<style type="text/css">
#wrapper:after {
    content: '';
    display: block;
    height: 10px;
}
</style>
<![endif]-->

You can add a pseudo-element «after» only for IE8:

<!--[if IE 8]>
<style type="text/css">
#wrapper:after {
    content: '';
    display: block;
    height: 10px;
}
</style>
<![endif]-->
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文