2012-06-06 98 views
1
<body> 
    <div id="header"> 
    <div id="header_center"> 
     <div class="logo"></div> 
    </div> 

我想用下面的CSS使用:CSS - 如何通過ID和

#header#header_center.logo { 
    float:left; 
    background-image: url(images/logo.png); 
    background-repeat: no-repeat; 
    width: 297px; 
    height: 85px; 
} 

...但它不工作。如果我只是使用'.logo',那麼它就可以工作。爲什麼我不能使用'#header#header_center.logo'?

+2

應該是空間分拆結構。 #header #header_center .logo – jayellos

+0

你通常不需要在選擇器中指定兩個ID;除非你有特定的需求,否則你應該能夠完全放棄選擇器的#標題部分,而不會影響它的工作方式。 – Spudley

回答

7

您發佈將選擇看起來像這樣的元素的CSS:

<div id="header header_center" class="logo"></div> 

你需要做的是你的選擇之間添加空格所以它會改爲選擇嵌套的元素。 class和id之間

#header #header_center .logo { ... 
+0

+1,迄今唯一的答案,解釋*爲什麼* OP的規則不起作用。 – JJJ

+0

@Nightfirecat非常感謝您的解釋 – senzacionale

2

插入空間關閉一個div標籤也

#header #header_center .logo { 
    float:left; 
    background-image: url(images/logo.png); 
    background-repeat: no-repeat; 
    width: 297px; 
    height: 85px; 
} 

你的HTML應該

<div id="header"> 
     <div id="header_center">   
      <div class="logo"></div></div></div> 
1

你需要離開IDS /班這樣之間的空間:

#header #header_center .logo { 
    ... 
} 

離開沒有空格將指定一個css鉤到具有所有這些屬性的單個元素(顯然是錯誤的,因爲你不能讓每個元素在不止一個id屬性)