div背景图像显示,但背景颜色不显示

时间:2009-11-23 20:30:07

标签: css html background-color

我有一个轻微的CSS问题。

我有一系列分层div,我设置了div类样式,它们都显示出来(填充,字体颜色等)。但是,背景颜色不适用于重叠的div。

作为测试,我尝试设置边框和边框样式,它们都工作得很好,除了边框颜色,它没有显示,并且额外样式的边框保持黑色。

每个div都有一个唯一的id,而背景颜色不工作的那个div在容器div中嵌套(并排)。我一直试图了解嵌套的div是否采用父div的背景颜色,但我试图改变父级的溢出,并且它没有任何影响。

作为一种解决方法,我创建了一个正确背景颜色的1 x 1px jpg,并设置divs背景图像,这是有效的。但它是一个黑客,我不知道为什么所有的风格元素都有效,除了背景颜色。

我希望我已经充分解释了我的情况,如果有人能帮助我,我会很感激。

(另外,作为一个补充,我使用Dreamweaver编写代码,背景颜色显示在预览模式中,但不会显示在firefox,chrome或IE中)

请求代码:

      <div id="longBox">
        <div id="specialLable"> Rent Specials &amp; promotions</div><!--end specialLable-->
        <div id="promoMain"> 
        <div id="proHeader">Alhambra Village Fall Special:</div><!--end proHeader-->
        <div id="proDate">Expires: Date</div><!--end proDate-->
        <div id="clear"></div>
        <div id="protext">This is where the details go</div><!--end protext-->
        <div id="promoConditions"><br />Limited availability. All promotions subject to change. Not good with other offers or promotions unless specified.</div><!--end promoConditions-->
        <div id="proContact">Request an Appointment</div><!--end proContact-->
        </div><!--end specialLable-->
      </div><!--end longBox-->


#longBox{
width:713px;
height:225px;
background-color:#FFFFFF;
float:left;
margin:1.2em 0 0 .7em;
}

#specialLable{
background-image:url(../images/01titleBar.png);
margin: .5em .5em .5em .5em;
width:689px;
height:30px;
font-size:1.2em;
font-weight:bold;
text-transform:uppercase;
color:#667b90;
padding:3px 0 0 6px;
}


#promoMain{
margin: 0 .5em .5em .6em;
background-color:#ced5da;
height:166px
}

#proHeader{
font-size:11px;
text-align:left;
font-weight:bold;
text-transform:uppercase;
color:#CC6666;
float:left;
padding:.3em .6em .3em .6em;
margin:.6em 0 0 .6em;
background-image:url(/images/images/bgwhite.jpg);
background-repeat:repeat;
width:503px;
}
#proDate{
font-size:11px;
text-align:left;
font-weight:bold;
text-transform:uppercase;
background-image:url(/images/images/bgwhite.jpg);
background-repeat:repeat;
color:#CC6666;
float:right;
width:150px;
padding:.3em .6em .3em .6em;
margin:.6em .6em .6em 0;
}

#protext{
font-size:11px;
text-align:left;
margin:0 .6em 0 .6em;
height:80px;
background:ffffff;
padding:0 0 0 .6em;
background-image:url(/images/images/bgwhite.jpg);
background-repeat:repeat;
}

#promoConditions{
font-size:9px;
text-align:left;
line-height:100%;
float:left;
padding:0 .6em 0 .6em;
margin:.6em 0 0 .6em;
width:503px;
}

#proContact{
font-size:11px;
text-align:left;
font-weight:bold;
text-transform:uppercase;
background-image:url(/images/images/bgwhite.jpg);
background-repeat:repeat;
color:#CC6666;
float:right;
width:150px;
padding:.3em .6em .3em .6em;
margin:.6em .6em 0 0;
}

3 个答案:

答案 0 :(得分:1)

图像工作的原因是因为它们是为孩子定义的新属性。父母从来没有一个BG的IMG,因此当你摆脱继承结构时,使用1x1彩色pxel hack肯定会有效。总之:

尝试以下方法:

     #longBox{
        width:713px;
        height:225px;
        background-color:#FFFFFF;
        float:left;
        margin:1.2em 0 0 .7em;
        }

    div#specialLable{
    background-image:url(../images/01titleBar.png);
    margin: .5em .5em .5em .5em;
    width:689px;
    height:30px;
    font-size:1.2em;
    font-weight:bold;
    text-transform:uppercase;
    color:#667b90;
    padding:3px 0 0 6px;
    }


    div#promoMain{
    margin: 0 .5em .5em .6em;
    background-color:#ced5da;
    height:166px
    }

    div#proHeader{
    font-size:11px;
    text-align:left;
    font-weight:bold;
    text-transform:uppercase;
    color:#CC6666;
    float:left;
    padding:.3em .6em .3em .6em;
    margin:.6em 0 0 .6em;
    background-image:url(/images/images/bgwhite.jpg);
    background-repeat:repeat;
    width:503px;
    }

div#proDate{
    font-size:11px;
    text-align:left;
    font-weight:bold;
    text-transform:uppercase;
    background-image:url(/images/images/bgwhite.jpg);
    background-repeat:repeat;
    color:#CC6666;
    float:right;
    width:150px;
    padding:.3em .6em .3em .6em;
    margin:.6em .6em .6em 0;
    }

div#protext{
    font-size:11px;
    text-align:left;
    margin:0 .6em 0 .6em;
    height:80px;
    background: #ffffff;
    padding:0 0 0 .6em;
    background-image:url(/images/images/bgwhite.jpg);
    background-repeat:repeat;
    }

    div#promoConditions{
    font-size:9px;
    text-align:left;
    line-height:100%;
    float:left;
    padding:0 .6em 0 .6em;
    margin:.6em 0 0 .6em;
    width:503px;
    }

    div#proContact{
    font-size:11px;
    text-align:left;
    font-weight:bold;
    text-transform:uppercase;
    background-image:url(/images/images/bgwhite.jpg);
    background-repeat:repeat;
    color:#CC6666;
    float:right;
    width:150px;
    padding:.3em .6em .3em .6em;
    margin:.6em .6em 0 0;
    }

答案 1 :(得分:0)

你有像Firebug这样的插件吗?这有助于向您展示可能覆盖背景颜色的任何规则。

另外,请确保在十六进制颜色编号之前加入#。 (例如:#ffffff

...看起来你正在使用id来选择CSS,这是最具体的,因此它只能被以下内容覆盖:1)CSS中的另一个id选择器,或者2)选择器CSS中的任何地方都带有id和类或标记名称,从而提高了它的特异性。 (CSS specificity made simple here

答案 2 :(得分:0)

检查您的定位...有时,当继承父属性时,对类或ID的显式指令是不够的。

所以,请指定:

#yourid {background-color: #333;}
如果其父级指定了背景,则

可能不够。

您可能需要像

那样执行element.ID
div#yourid {background-color: #333;}

抓住我的漂移?

编辑:

是的,我可以看到孩子们继承自#longBox。如我之前提到的那样,最好是你的目标。此外,需要验证缺少的hash / pound / tic tac toe事物,但大多数浏览器应该解释格式错误的CSS。