首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><footer>忽略的CSS样式

<footer>忽略的CSS样式
EN

Stack Overflow用户
提问于 2013-11-06 18:25:37
回答 2查看 1K关注 0票数 4

到目前为止,我使用<div>s作为页眉和页脚,但是当我移动到HTML5时,我想用<header><footer>标记替换它们。旧版本有风格定义。

代码语言:javascript
复制
#footer a {
  text-decoration: none;
}

若要从链接中删除下划线,请执行以下操作。这如预期的那样起作用。但是,在切换到<footer>标记之后:

代码语言:javascript
复制
footer a {
  text-decoration: none;
}

这种风格被忽略了。我做错了什么?

(完整的代码,包括样式,可以找到http://ryonen.net/index000.php)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-06 18:34:19

特异性。

#footer a是一个ID (#footer)和一个元素(a)。

ID比类更具体,类比元素更具体。

footer a不能工作,因为它是两个元素,它的特异性很低,而且它被a:link覆盖,从技术上讲,它是一个元素和一个(Psuedo)类,这意味着它比两个元素具有更高的特异性。

您所需要做的就是增加footer a声明的特异性--要么给页脚一个类或一个ID,要么给footer a:link, footer a:visited

基本上,它归结为ID,总是覆盖类,总是覆盖元素。我相信它是255个元素=1个类和255个类=1个ID (但您不需要那么具体)。内联样式和!important样式比任何东西都更具体,包括ID。计算特异性的基本方法是在0,0,0符号( in、类、元素)中计算in、类和元素的数量(假设您不必担心内联样式或!important)。

#footer a为1,0-1。

a:link为0,1,1。

footer a为0,0,2。

这些组织从最高到最低的特异性。要使footer aa:link更具体,需要向声明中添加至少一个类或一个ID,例如footer#footer afooter.bottom afooter a:link, footer a:visited等(相应地将类或ID添加到HTML中)。最后一个选项不需要更改任何HTML,因为您只是在重写:link:visited psuedoclasses (它们在专用性计算方面算作真实类,就像psuedo-- :before:after计数这样的元素)。

所有解决方案中最简单的是将a:link, a:visited样式的声明更改为简单的a,这意味着声明将不像页脚中的声明那么具体,而且您不需要修改任何其他东西就可以开始工作。

在CSS中,特性可以说是您需要掌握的最重要的概念。以下是一些学习更多信息的好资源:

  • CSS特异性的细节(CSS技巧)
  • CSS特异性(粉碎Mag)
  • CSS特异性(MDN)
  • 了解CSS的特殊性(Nettuts)
票数 4
EN

Stack Overflow用户

发布于 2013-11-06 18:27:40

具体的问题是..。

a:link, a:visited覆盖footer a,所以让它

代码语言:javascript
复制
footer a:link, 
footer a:visited {
   text-decoration: none;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19819811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档