2009-09-16 107 views
0

我在我的網站中有大量的元素...並且因爲我添加了以下css ...一些元素從這些css樣式繼承...雖然他們沒有任何關係它:其他範圍,沒有直接定義的CSS風格等...我做錯了什麼?元素繼承錯誤的樣式

#InformationForDiv 
{ 
    width: 205px; 
    height: 180px; 
    background: #FFFFFF; 
    clear: both; 
    float: left; 
    margin: 0 35px 0 35px; 
    text-align: center; 
} 

#InformationForDiv ul 
{ 
    text-align: left; 
    padding: 0px; 
    display:block; 
} 

#InformationForDiv li 
{ 
    border-bottom: solid 1px #D6D6D6; 
    padding: 0px; 
    list-style: none; 
    line-height: 20px; 
    display: block; 
} 

#InformationForDiv p 
{ 
    display:inline; 
    float:right; 
    margin:0; 
    text-align:right; 
    font-size: 16px; 
    color: #B02229; 
} 


#InformationForDiv li a:link, a:visited 
{ 
    color: #544B42; 
    text-decoration: none; 
    font-size: 12px; 
    width:100%; 
    display:block; 
} 

#InformationForDiv li a:hover 
{ 
    color: #544B42; 
    border-bottom: 1px solid #544B42; 
    font-size: 12px; 
} 

#InformationForDiv li a:visited 
{ 
    color: #544B42; 
    text-decoration: none; 
    font-size: 12px; 
} 

#InformationForDiv img 
{ 
    margin: 10px 0 5px 0; 
} 
+0

如果您將包含一些HTML代碼並顯示哪些元素顯示錯誤,那麼回答您的問題會更容易。 – Robban 2009-09-16 13:49:08

+1

你應該添加一些其他數據。爲什麼我的css看起來不錯? – Eineki 2009-09-16 13:51:15

回答

2

至少這一個:

#InformationForDiv li a:link, a:visited 

將選擇所有a:visited元素,它看起來並不像你的意圖。

-1

也許是因爲這些元素在它們存在的HTML文檔中有一個祖先,其ID爲「InformationForDiv」。

它通常不是一個好主意,包括在外部的CSS中選擇使用特定的元素ID。外部CSS應該依賴類名來選擇適當的元素。

+0

爲什麼? (downvote不是我的;-)) – 2009-09-16 14:29:30

+0

Web開發人員爲什麼會給元素一個ID有很多關鍵的原因。在一個元素上放置一個類名只有一個關鍵原因。一個外部的CSS可以期望被多個頁面共享。這些頁面的開發人員不必擔心其他頁面已使用的ID,然後使用選擇器中的#使用CSS對樣式進行樣式設置。應該是ID在文檔中是唯一的,通過允許共享css中的選擇器使用它們,那麼這些ID會獲得更大的可能意想不到的更大範圍。 – AnthonyWJones 2009-09-16 15:07:30

+0

這可能意味着兩件事 - 您建議不要根據id設置樣式,或在頁面中使用基於id的選擇器嵌入樣式。哪一個是你的?雖然你所說的確適用於一些網站範圍的樣式表,但我絕對沒有理由對它進行教條式的處理 - 對我來說,這只是那些全都不對的通用規則之一(包括我剛纔聲明的規則)。 – 2009-09-16 15:19:28