2017-10-14 135 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