2010-03-24 186 views
1

在我的主要CSS文件中,我有我的a:鏈接選擇器設置爲以白色顯示鏈接。覆蓋:鏈接

a:link{ 
color: white; 
} 

但是,我想另一個DIV(.menuItem)中的鏈接是黑色的。

我想

.menuItem a:link{ 
color: black; 
} 

似乎無法得到它的工作,所以它可能是錯的..

任何人都可以伸出援助之手的這一個?

回答

2
.menuItem a:link{ 
color: black !important; 
} 
+3

這不是一個理想的解決方案 - 應該能夠使用級聯效應來完成這項工作。 – 2010-03-24 22:15:31

+0

@Grant Palin:這是正確的,CSS可以用一個更具體的「覆蓋」一般樣式定義。所以有一個!重要或不應該不是關鍵的解決方案 – 2010-03-24 22:40:10

0

立即處理示例代碼。但是你的div標籤有menuItem的id還是一個menuItem的類?這是我的猜測。

編輯:好的,現在我明白了。 !如果你的CSS分離到另一個文件,並使用link標籤在導入它,那麼它應該是不使用的重要命令細,看到這一點:

body {background-color : green;} 

a:link{ color : white;} 

.menuItem a:link 
{ 
color : black; 
} 

而且這樣的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"> 
<head profile="http://gmpg.org/xfn/11"> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
<title>Test page</title> 
<link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8"> 
</head> 
<body> 
<div> 
    <a href="#">This is a link</a> 
</div> 
<div class="menuItem"> 
    <a href="#">This is a link in div menuItem</a> 
</div> 
</body> 
</html> 

希望這有助於:)

不過,如果我將CSS片段嵌入到HTML中,那麼它不工作......想知道爲什麼?

+0

我會認爲一個類,因爲可能有很多菜單項。 – 2010-03-24 22:14:25

+0

@ Chacha102:現在我看到你的問題,正在解決它... – 2010-03-24 22:20:36

2

關於Chacha102,我不認爲這個解決方案是理想的。 !important是一個kludge,處理這個問題的更好的方法是利用文檔結構來增加一些特殊性。假設你.menuItem元素都有一個共同的父母,也許是divmenu的ID,可以按如下方式修改您的具體菜單鏈接樣式:

#menu a:link { 
    color: black; 
} 

額外的特異性應引起更具體的規則生效了這些菜單項。

+0

這是一個很好的建議,但我認爲問題來自直接嵌入到HTML頁面或不。如果你拿我的示例代碼並在XAMP中訪問它,那麼你可以看到差異。因此,考慮到原來的問題,是的,這是可行的,恐怕它必須是兩個文件而不是一個文件。 – 2010-03-24 22:36:36