2012-01-27 61 views
1

我需要指定css,以使「Dusty Arlia」不會被下劃線。css類和a:hover

<p> 
     <span class="published"> 
      By: <a href="http://whiterootmedia.com">Dusty Arlia</a><br /> 
      Published on December 19, 2011<br /> 
      Updated on January 26, 2012 
     </span> 
    </p> 

我嘗試使用CSS

span.published a:hover {text-decoration:none;} 

,但沒有工作,所以我試圖

.published a:hover {text-decoration:none;} 

...等等。 CSS位於外部樣式表中。我將這些CSS放在樣式表的底部和頂部(我認爲它位於最後呈現的CSS頁面的底部)。反正沒有「發佈」類的CSS,但我確實有CSS來強調我的超鏈接。我希望我的名字的超鏈接不要有下劃線。我無法編輯我的HTML。我有這個佈局的數百頁。我知道我可以做一個「全部替換」功能,如果我必須編輯HTML,但我想要一個CSS修復。

+0

可能需要更多信息,因爲我無法重現此問題。你有沒有正確引用的CSS? – 2012-01-27 21:46:26

+0

爲什麼你在那裏有':hover'。在那裏,只有當鼠標懸停在鏈接上時,樣式纔會生效。 – 2012-01-27 23:57:57

回答

1

,如果你認爲CSS聲明正在被其他樣式覆蓋,你可以嘗試在它的結束,這將超越其他風格的話說!important(如果它本身不已經有!important

span.published a:hover {text-decoration:none !important;} 
1

你的CSS應該像定義的那樣工作,除非某個其他的通用選擇器正在重新定義它。試試這個:

span.published a:hover {text-decoration:none !important;} 
+0

我的答案很好的重複。大聲笑 – Kristian 2012-01-27 21:46:39

+0

耶同一時間張貼。抱歉。我會+ – 2012-01-27 21:57:15

+0

這工作!你是人!我從來沒有見過!重要的。這又是如何修復它的? – 2012-01-27 22:05:24

0

聽起來像你有一些CSS的地方,這是優先於你正在添加的位。如果您擁有Chrome,則可以使用開發人員工具查看影響特定元素的所有規則(右鍵單擊 - >檢查元素,查看「匹配的CSS規則」)。您可以使用Firefox中的Firebug進行類似操作。這應該給你你需要解決問題的見解。

當所有其他都失敗時,!important可能會有用。

0

我認爲問題在於,您的a:hover規則未應用,因爲您的其他選擇器具有更多的權重(特定性),因此會覆蓋您的a:hover選擇器。

埃裏克邁耶對這個問題的一個偉大的文章:http://meyerweb.com/eric/css/link-specificity.html

首先,確保你的一個:選擇有以下建議順序:

  1. 答:鏈接
  2. 答:訪問
  3. :懸停
  4. 答:活性

要記住這個順序,我總是使用LoVe/HAte助記符。

順便說一下,hover僞類只適用於處於懸停狀態(即鼠標結束)的鏈接。你是否也爲一個:link或者?指定了無下劃線的規則?

如果沒有一個幫助你,你也可以嘗試!重要的指令。然而,這不應該是必要的,但它可能會幫助您找出故障所在。