【问题标题】:Chrome won't render right padding when the overflow style is set to "auto"当溢出样式设置为“自动”时,Chrome 不会呈现右填充
【发布时间】:2014-06-11 11:35:17
【问题描述】:

我有以下代码:

CSS

#div1 {
    width: 300px;
    height: 300px;
    padding: 40px;
    background-color: blue;
    overflow: auto;
}

#div2 {
    width: 400px;
    height: 400px;
    background-color: red;
}

HTML

<div id="div1">
    <div id="div2">
    </div>
</div>

我想知道的是为什么我在 chrome 中看不到#div1 的正确填充,但我可以看到底部填充。 padding-right 和 padding-bottom 有区别吗? 我怎样才能让 chrome 正确渲染 padding-right?

JsFiddle Link

感谢您的帮助。

2014 年 6 月 11 日更新

感谢@PradeepPansari 提供的“内联块”解决方案,它运行良好。 感谢@Gaurav 解释滚动条是如何工作的。

但这仍然让我感到困惑,为什么当我将 display 设置为 'inline-block' 时,@Gaurav 的解释似乎出错了。 而当我使用 chrome 查看演示时,会渲染 padding-bottom。 再说一次,任何人都可以解释为什么“显示:内联块”有效吗?

【问题讨论】:

    标签: html css google-chrome


    【解决方案1】:

    我看到 FF 也给出了与 chrome 相同的结果。

    我将尝试通过以下图片来解释您的问题

    - 获取div和定位的全过程


    - 现在注意各种滚动位置


    整个问题是因为 Div 2 的高度和宽度大于 Div 1, 众所周知,填充宽度和高度不会像边距一样添加到元素的宽度和高度上。所以滚动得到了Div 2的滚动宽度和高度,并且由于div 2的高度和宽度大于Div 1,所以向右和底部的填充是不可见的。

    【讨论】:

    • 感谢您的出色解释。但这只是解释了它是如何在 Firefox 中呈现的,而不是 chrome。我可以在 chrome 中看到 padding-bottom,但看不到 padding-right
    【解决方案2】:

    使用此代码

    #div1 
    {
    width: 400px;
    height: 400px;
    padding: 40px;
    background-color: blue;
    }
    
    #div2 
    {
    width: 400px;
    height: 400px;
    background-color: red;
    }
    

    【讨论】:

    • 我很确定 OP 想要保留溢出。
    【解决方案3】:

    你可以试试下面的代码:

    Working Demo

    #div1 {
      width: 300px;
      height: 300px;
      padding: 40px;
      background-color: blue;
      overflow: auto;
    }
    
    #div2 {
      width: 400px;
      height: 400px;
      background-color: red;
      display:inline-block
    }
    

    【讨论】:

    • 您能否添加更多信息,说明您究竟做了什么以及它为什么有效(以便每个人都能更好地理解问题/解决方案)?
    • 谢谢,这个解决方案解决了我的问题,但你能告诉我为什么会这样吗?
    • 因为父 div 宽度为 300px,内部 div 宽度为 400px,所以这是个问题。如果你为内部和外部 div 设置相同的宽度,那么你的代码就可以了。
    • @PradeepPansari 感谢您提供的内联块技巧,但不适用于 Firefox。
    猜你喜欢
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 2017-01-23
    • 2015-02-23
    • 2019-04-10
    • 1970-01-01
    相关资源
    最近更新 更多