6

大家好,我正在尝试使用 CSS 构建布局,但遇到了一个奇怪的问题。对我来说很奇怪。我有 3 个 div 一个Header,一个Footer和一个MainContent区域。页眉和页脚必须保持 100% 的恒定宽度,而 MainContent 区域必须居中固定在 996px;这一切都很好,但是当我将浏览器窗口的宽度调整为低于 996 像素然后向右滚动窗口的内容时,100% 的页眉和页脚似乎被截断并且不再是 100%。我敲了一个简单的脚本来说明这个问题(内联样式以保持紧凑)。我知道我可以在每个容器中添加溢出:隐藏,以便在调整窗口大小时关闭滚动条。如果宽度低于某个宽度,我还编写了一小段 jQuery 来强制 div 回到宽度。但是我的问题是关于 CSS 的,是否有更好的纯 CSS 解决方案来解决这个问题?或者任何人都可以解释为什么会发生这种情况?先感谢您!点C

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>div width test</title>
</head>
<body style="border:none; margin:0; padding:0; height:100%; width:100%">

    <div id="header-content" style="width:100%; margin:0; padding:0; background-color:#0000ff; height:50px"></div>

    <div id="main-content" style="width:996px; margin:0; padding:0; background-color:#ff00ff; height:250px; margin:auto">
        <div id="inner-content">
            CONTENT OF THE PAGE HERE
        </div>
    </div>
    <div id="footer-content" style="width:100%; margin:0; padding:0; background-color:#00ffff; height:70px"></div>
</body>

4

2 回答 2

4

我对您的问题并不完全清楚,但您可以设置min-width:996px;页眉和页脚以使其至少与内容一样宽。

于 2010-09-27T15:23:15.483 回答
1

Try this, and please use HTML5's doctype.

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <style type="text/css">
            body{margin:0;text-align:center;}
            .header,.content,.footer{text-align:left;clear:both;margin:0 auto;}
            .header,.footer{width:100%;background-color:blue;height:128px;min-width:996px;}
            .content{width:996px;height:512px;background-color:red;}
        </style>
        <title>Index</title>
    </head>
    <body>
        <div class="header">
            Header stuff here
        </div>
        <div class="content">
            Page content stuff here
        </div>
        <div class="footer">
            and your footer...
        </div>
    </body>
</html>
于 2010-09-27T16:07:54.837 回答