代码之家  ›  专栏  ›  技术社区  ›  Ronnie

使用CSS将整个页面居中

  •  0
  • Ronnie  · 技术社区  · 16 年前

    我试图仅使用CSS将整个页面居中,但事实证明,这比我最初预期的要复杂得多。目前,我的代码可以在IE中运行,但在Firefox中无法运行,这带来了变化。页面可以看到 here 。以下是所涉及的代码部分:

    #wrap {
        width: 960px;
        margin: 0 auto;
        padding: 6px;
        background: #FFFFFF;
    }
    

    我的HTML结构是:

    <body>
    <div id="wrap">
        Gubbins in here.
    </div>
    </body>
    

    似乎在Firefox中,wrap div后面的所有内容都是在它之外创建的。如果我在wrap div中添加一个“float:left”,这个问题就解决了,但很明显,所有内容都会向左浮动而不是居中。

    任何帮助都将不胜感激。

    3 回复  |  直到 8 年前
        1
  •  5
  •   John Sheehan    16 年前

    将标记更改为

    <body>
    <div id="wrap">
        Gubbins in here.
    </div>
    </body>
    

    编辑:看看链接,你已经做到了。您需要添加overflow:auto;在wrap div的结束标记之前的末尾添加一个clearing div。

    此外,在示例页面上,wrap div缺少结束标记。

        2
  •  0
  •   Joel Coehoorn    16 年前

    使用此CSS:

    body { text-align:center;}
    #wrap {text-align:left; margin: 0 auto; width:960px;}
    

    然后,让我们从你的问题中检查一下这个陈述:

    wrap div之后的所有内容都是在它之外创建的

    事情就是这样运作的。 不要把任何东西放在你的包装箱外面。 把它想象成一个替代体。

        3
  •  0
  •   codeinthehole    16 年前

    如果你知道页面的宽度,并且它是固定的,你可以使用以下方法。

    • 用div(充当包装器)包含页面内容
    • 将此'wrapper'div的宽度设置为' W '
    • 使用'left:50%;'定位包装器div

    现在,利用利润率可能为负的事实。..

    • 使用'margin left拉回包装器div的位置:-( W/2 );'