背景图像不会在ContentPlaceHolder和子页面之外垂直重复

时间:2011-02-27 22:04:32

标签: html css

我认为这应该是一个容易解决的问题,但它变成了我无法解决的问题。

无论出于何种原因,在global-inner中指定并在MasterPage中使用的背景图像(main_bg.gif)将仅对MasterPage中的内容页面垂直重复,如果事实上ContentPage不包含其他div。

对于MasterPage中其余的div,如底部换行,图像(main_bg.gif)不会向下拉伸。它只会重复内容页面中包含的内容。

这是CSS中用于子页面的顶级功能,它不会使global-inner中的图像重复:

#top-feature 
{
height:330px;
width: 848px;
margin: 12px 0 0 16px;
/*background: #E4EAEF;*/
background: orange;
/*padding: 10px 0 0 10px;*/
position: absolute;
text-align: left;
}

以下是MasterPage中使用的CSS:

body
{
background-color: #9EB0C8;
font-family: Arial,Helvetica,sans-serif;
font-size: 62.5%;
}    

#global-wrap 
{
width: 100%;
margin: 0 auto;
text-align: left;
width: 880px;
overflow: hidden;
}    

#global-inner 
{
background: url("/images/main_bg.gif") repeat-y scroll 0 0 #E4EAEF;
font-family: Arial;
font-size: 1.2em;
margin: 15px 0 0 0;
overflow: hidden;
text-align: left;
width: 880px;
}

这是MasterPage中的HTML w /。同样,ContentPlaceHolder之外的任何内容,即底部换行,都不会包含在该图像中(main_bg.gif):

<div id="global-wrap">
    <div id="global-inner">
        <asp:ContentPlaceHolder ID="MainContent" runat="server" />
        <div id="bottom-wrap">
            <div id="copyright">
                Copyright © 2011 by DaVinci's Painting, Inc.
                <br />
                2111 Jefferson Davis Hwy, Arlington, Virginia
                <br />
                Call Direct: 202-460-1754
                <br />
                Site Development by <a target="blank" href="http://www.websitedeveloper.com">WebSiteDeveloper.com</a>
            </div>
            <div id="bottom-logos">
            </div>
            <div id="sociales">
                <span class="st_twitter_large" displaytext="Tweet"></span><span class="st_facebook_large"
                    displaytext="Facebook"></span><span class="st_ybuzz_large" displaytext="Yahoo! Buzz">
                    </span><span class="st_gbuzz_large" displaytext="Google Buzz"></span><span class="st_email_large"
                        displaytext="Email"></span><span class="st_sharethis_large" displaytext="ShareThis">
                        </span>
            </div>
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

通过将overflow:hidden;添加到#global-inner样式,这将解决浮动未被清除的问题并显示背景图像。

此外,对于左右角,使用单独的空DIV可能不是最好的想法或做法。您是否考虑过 CSS3 圆角作为使用图片的替代方法?

例如:

    -moz-border-radius-topleft: 5px;
    -webkit-border-top-left-radius: 5px;
    border-top-left-radius: 5px;

    -moz-border-radius-topright: 5px;
    -webkit-border-top-right-radius: 5px;
    border-top-right-radius: 5px;

答案 1 :(得分:0)

包含需要垂直重复的图像的父Div的子Div,不能将其位置设置为绝对值。

在我的MasterPage示例中:bottom-wrap将其位置设置为绝对值。当这被改为position:relative时,global-inner中的父图像垂直向下拉伸以包括底部包装div。