2017-10-14 131 views
0

我有一个包含两个菜单的页面。 div中的第一个内容是一般主题。第二个div是针对特定主题的。我想将特定顶部div的颜色更改为不同的背景颜色。我似乎无法让它工作。如何更改背景颜色在另一个DIV内的DIV

CSS:

#navigation { 
    border-top: 2px solid #808080; 
    border-bottom: 2px solid #808080; 
    background-color: yellow; 
    overflow: scroll; 
} 

#NavigationColorGreen { 
    background-color: greenyellow; 
} 

的HTML:

<div id="navigation" > 
    <a href="general-links.htm>General</a>" 
    <hr class="divider"/> 
    //* I want to change the background color of this div to green *// 
    <div id="NavigationColorGreen" > 
    <a href="specific-links.htm">Specifics</a> 
    </div> 
</div> 
+2

变化'NavigationColor'到'NavigationColorGreen' –

+1

在你的CSS必须在HTML中的ID相符的选择,但他们是在你的代码不同(在ID是“NavigationColor”,但您的CSS中的ID是“NavigationColorGreen”)。您应该更改CSS规则,以便选择正确的ID(即'#NavigationColor {background-color:green;}'或作为@ S.Walker所说的,您可以更改HTML中的ID – FluffyKitten

+0

Thank you! 不幸的是,我试图让我的例子变得简单并且错过了输入......第二个div确实拥有正确的ID。我试图做的页面位于http://www.lilesnet.com/friends-vacations/2017 -06-ireland/index.htm –

回答

1

您遇到的问题是与浮动li在你的菜单做。当一个元素使用display:float时,它将从页面流中取出。这意味着你的NavigationColorGreen div没有直接的内容,没有任何东西给它的高度,它的高度为0.

为了克服这个问题,你需要使用“clearfix”。您将其添加到包含div(NavigationColorGreen,您的情况),它强制它“清除”浮动元素,以便它包含它们。

工作例如:

#navigation li { 
 
\t float: left; 
 
\t padding: 1px 8px 1px 8px; 
 
} 
 

 
#navigation { 
 
border-top: 2px solid #808080; 
 
border-bottom: 2px solid #808080; 
 
background-color: yellow; 
 
} 
 

 
#navigation ul{ 
 
list-style:none; 
 
} 
 

 
#NavigationColorGreen { 
 
background-color: greenyellow; 
 
} 
 

 
.clearfix:after { 
 
    content: ""; 
 
    display: table; 
 
    clear: both; 
 
} 
 

 
/* This is for the example only: */ 
 
p {font-weight:bold; clear:both; padding:10px 0 0;}
<p>Without clearfix</p> 
 
<div id="navigation"> 
 
    <a href="general-links.htm">General</a> 
 
    <div id="NavigationColorGreen"> 
 
     <ul> 
 
      <li><a href="#">Link1</a></li> 
 
      <li><a href="#">Link2</a></li> 
 
     </ul> 
 
    </div> 
 
</div> 
 
<p>With clearfix</p> 
 
<div id="navigation"> 
 
    <a href="general-links.htm">General</a> 
 
    <div id="NavigationColorGreen" class="clearfix"> 
 
     <ul> 
 
      <li><a href="#">Link1</a></li> 
 
      <li><a href="#">Link2</a></li> 
 
     </ul> 
 
    </div> 
 
</div>

+0

您的先生是一位天才!我在一百万年内从来没有这样做过!成为75和ol '头像不习惯就像以前一样!谢谢,谢谢,谢谢! Paul –

+0

@PaulLiles“Ma'am”其实:)很高兴帮助!这个问题是你从经验中学到的。如果答案对您有帮助,请考虑接受它,以便在网站上将其标记为已解决。请参阅[当某人回答我的问题时该怎么办?](https://stackoverflow.com/help/someone-answers)。喜欢爱尔兰,如果你要去自己,这是世界上最好的地方(...我可能会有偏见!) – FluffyKitten

+0

@PaulLiles为了防万一它从例子中不清楚(因为我忘记了具体提到它) - 你只需要将'clearfix'类添加到您自己的CSS中,然后将其添加到任何浮动元素的父级。 – FluffyKitten