【问题标题】:Safari overflow: hidden, right margin bugSafari 溢出:隐藏,右边距错误
【发布时间】:2014-06-05 16:03:58
【问题描述】:

我使用此代码创建 2 列布局:

<style type="text/css">
#column-wrap {
    float: left;
    width: 100%;
}
#column1 {
    background-color: red;
    width: 200px;
    float: left;
}
#column2 {
    background-color: lime;
    margin-left: 200px;
    overflow: hidden;
    min-height: 200px;
}
</style>
<div id="column-wrap">
    <div id="column1">Column 1</div>
    <div id="column2">Column 2</div>
</div>

它在除 Safari (5.1.7) 之外的所有浏览器中都能正常工作,如果我在第二列中使用 overflow: hidden; 属性,Safari 会在右侧显示一个大的空白边距。

为什么?我该如何解决?

【问题讨论】:

  • #column2中删除overflow: hidden;
  • 我知道它可以解决问题,但我需要它。

标签: html css safari


【解决方案1】:

我不知道你是否想要这样的东西,但试试下面的例子 ->

DEMO

#column2 中删除margin-left:200px

#column2 {
    background-color: lime;
    overflow: hidden;
    min-height: 200px;
    }

您的#column2 将自动向左浮动,因为您没有清除其float 属性,因此不需要margin-left

在 Safari 5.1.7 (Windows) 中测试并运行。

【讨论】:

  • 第二列必须是全宽。
  • @w-d,第二列的宽度需要填满屏幕,而不仅仅是它的内容。
  • @w-d 是的,但第一列必须有固定的宽度。我尝试将第二列设为 100%,但在 Safari 中它超出了浏览器窗口。
  • @w-d yo 删除了margin-left: 200px; 我需要它在列之间添加一点分隔,但无论如何我找到了解决方法。谢谢。
  • 您可以在这两个 div 之间添加另一个 div,并将其设置为 width,例如 10px。别客气。很高兴它有帮助。
猜你喜欢
  • 1970-01-01
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
  • 2019-11-23
  • 2018-06-06
  • 2020-01-10
相关资源
最近更新 更多