【问题标题】:CSS: Page divided in 3 columns not working on FirefoxCSS:页面分为 3 列不适用于 Firefox
【发布时间】:2014-06-11 22:25:31
【问题描述】:

我正在尝试将页面分为 3 列。中间的一个将包含“内容”,而另一个将包含一个菜单,因此,我希望在用户(垂直)滚动页面时固定横向列。 该代码适用于 Chrome 和 Internet Explorer,但在 Firefox 上,左侧的列折叠在右侧的列上,我不知道为什么。 这是代码(如果您在不同的浏览器上打开它,您会注意到不同之处): http://jsfiddle.net/mattyfog/6rn3j/4/

HTML

<div id="left-col">LEFT</div>
<div id="main">MAIN</div>
<div id="right-col">RIGHT</div>

CSS

#main {
    width: 50%;
    display: inline-block;
    float: left;
    padding-left: 25%;
    background-color: grey;
}

#right-col {
    float: left;
    background-color: yellow;
}

#left-col {
    float: right;
    background-color: blue;
}

#right-col, #left-col {
    position: fixed;
    width: 25%;
    min-width: 140px;
    margin: 0px;
    display: inline-block;
}

谢谢大家

【问题讨论】:

  • 你已经给了他们两个position: fixed。右列和主列相互重叠。

标签: css firefox multiple-columns


【解决方案1】:

我不确定为什么 Firefox 表现得很奇怪,但我认为做你想做的事情的正确方法是这样的:

我从#main 中删除了float,并将其padding-left 更改为margin-left,现在它可以在浏览器上运行(fiddle)。

#main {
    width: 50%;
    display: inline-block;
    /*float: left;*/
    margin-left: 25%;
    background-color: grey;
}

#right-col {
    float: right;
    background-color: yellow;
}

#left-col {
    float: left;
    background-color: blue;
}

#right-col, #left-col {
    position: fixed;
    width: 25%;
    min-width: 140px;
    margin: 0px;
    display: inline-block;
}

【讨论】:

  • 不敢相信,经过数小时的尝试,解决方案如此简单。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2019-01-31
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
相关资源
最近更新 更多