2012-01-27 31 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或者?指定了无下划线的规则?

如果没有一个帮助你,你也可以尝试!重要的指令。然而,这不应该是必要的,但它可能会帮助您找出故障所在。