2011-08-11 58 views
1

我要死了。這是本週第二次發生在我身上,但是我不知道第一次如何修復它。CSS:無法在標題中選擇元素?

我完全無助和憤怒。首先,w3c驗證器說沒有錯誤。我的SASS CSS框架說沒有錯誤,我只是沒有錯誤。

這是我的所有,整個頁面風格成功...

<body> 

<div id="doc"> 

    <header> 

     <div class="inner"> 

      <div id="branding"> 
       <a class="logo" href="#">Jihaa</a> 
      </div> 

......突然......我不能選擇#branding ARRRRGGGG內的.logo。

#branding .logo { 
    width: 200px; 
    height: 70px; 
    background: red; 
} 

這應該做的工作權利,但沒有。

這也不是header #branding .inner .logo {或任何其他可能的組合。

爲什麼?我完全無奈。我的所有瀏覽器中都沒有檢查工具選擇合適的CSS。它只是不涉及它!

+0

演示網站或http://jsfiddle.net可能嗎? –

+0

'header #branding .inner .logo'因爲'.inner'在外部/上面,所以'不會工作'.branding' – jackJoe

回答

4

.logo是一個a這是一個內聯元素,將不會接受widthheight

添加display:inline-block;的風格,它應該工作。

#branding .logo { 
    width: 200px; 
    height: 70px; 
    background: red; 
    display:inline-block; 
} 

編輯

爲了解決以下@jackJoe的評論。

如果你需要支持IE6或7,您可以在規則的底部添加以下內容:

zoom:1; 
*display: inline; 
_height: 12px; //or whatever you need 
+1

'inline-block'在IE6 + 7中不受支持。 – jackJoe

+0

True @jackJoe。但OP沒有提到他需要支持這些瀏覽器。 –

+0

不錯的編輯傑森,+1 – jackJoe

1

我不認爲你可以設置一個寬度或高度,因爲它的錨是一個內聯元素。

使用Jason Gennaro上面提到的{display:inline-block;}。

0

確保您不要在頁面的任何其他位置使用相同的ID。

此外,請嘗試將標記類從標記中取出並放入div中。

1

在這種情況下,如果你想在風格與a這些特性,你需要指定其顯示到block

#branding .logo { 
    width: 200px; 
    height: 70px; 
    background: red; 
    display: block; 
} 
0

是什麼讓你覺得你不能選擇呢?如果因爲您的高度和寬度在您的.logo類中被忽略,那將是因爲您需要顯示:block .logo以便尊重它們。