当窗口太小时,如何防止背景中的div被截断

时间:2012-03-08 09:32:56

标签: html css

我对背景div有问题,当我调整窗口太大时,浏览器会切断该div的左侧和顶部(背景图像)。

我怎么能阻止它?

这是我的index.html

<div id='wrapper'>
        <div id='background'></div>
        <div id='menu'></div>
        <div id='lang'></div>
        <div id='content'></div>
        <div id='contact'></div>
    </div>

和css:

* {
    margin: 0;
    padding: 0;
}

body {
    font-size: 12pt;
    font-family: Helvetica, sans-serif;
    text-align: center;
    width: 100%;
    height: 100%;

}

#wrapper {
    width: 900px;
    height: 400px;
    position: absolute;
    left: 15%;
    top: 25%;
}

#background {
    background-image: url('gfx/6_small.jpg');

    margin-left: -150px;
    margin-top: -150px;

        min-height: 657px;
        min-width: 1218px;

    z-index: -1;
    position: absolute;
}

3 个答案:

答案 0 :(得分:2)

如果您在#wrapper上设置固定像素边距,请执行以下操作:

#wrapper {
    width: 900px;
    height: 400px;
    position: absolute;
    left: 20px;
    top: 20px;
}

并从margin-left移除否定margin-top#background,这不应该发生。

答案 1 :(得分:0)

您可以使用CSS3媒体查询根据较小的设备(或较小的窗口)实现其他spritesheets来设置您的网站样式。

例如,对于宽度小于900像素的浏览器,您可以将所有内容设置得更小并将其他背景图像应用于某些元素。

W3C MediaQueries

What it looks like

要更新实时,您还需要response.js

答案 2 :(得分:0)

您似乎有相互冲突的排名规则(即您同时使用%和px)。如果您需要一个不随浏览器大小缩小的非灵活布局,则需要避免%。我喜欢这样做的一种方法是将所有内容放在包装器div(所有内容,标题,内容等等)中,然后将与我的设计相匹配的背景颜色分配给body元素。