2012-04-17 56 views
7

我只是想知道如果你不改变这个值,那么hover,activefocus会自动继承标准的a标签的设置吗?悬停,活动,焦点状态是否继承值?

例如:

.wrapper .left .main .row .holder .more a, 
#content .wrapper .left .main .row .holder .more a:visited 
{ 
    width: 92px; 
    min-width: 92px; 
    max-width: 92px; 
    height: 23px; 
    min-height: 23px; 
    max-height: 23px; 
    display: block; 
    margin: 0px auto; 
    background: #fff url(../images/more-info-btn.png) top left no-repeat; 
} 

#content .wrapper .left .main .row .holder .more a:hover { 
    width: 92px; 
    min-width: 92px; 
    max-width: 92px; 
    height: 23px; 
    min-height: 23px; 
    max-height: 23px; 
    display: block; 
    margin: 0px auto; 
    background: #fff url(../images/more-info-btn.png) bottom left no-repeat; 
} 

请问下面做同样的事情?

#content .wrapper .left .main .row .holder .more a, 
#content .wrapper .left .main .row .holder .more a:visited 
{ 
    width: 92px; 
    min-width: 92px; 
    max-width: 92px; 
    height: 23px; 
    min-height: 23px; 
    max-height: 23px; 
    display: block; 
    margin: 0px auto; 
    background: #fff url(../images/more-info-btn.png) top left no-repeat; 
} 

#content .wrapper .left .main .row .holder .more a:hover { 
    background: #fff url(../images/more-info-btn.png) bottom left no-repeat; 
} 
+3

它们并不完全“继承”这些值,因为CSS中的继承指的是从父元素中获取样式。相反,这些值是*级联的,或者来自通用的'a'规则(我知道这很混乱)。不过,你在这里有正确的想法。 – BoltClock 2012-04-17 09:16:12

回答

5

是的,这是正确的,伪状态继承值。

为了一致性的目的,最好只声明你在假指令状态规则中改变的样式。

用下面的代码,文字永远是font-size:1.9em,与padding-top:10px不管:hover状态:

a 
{ 
    color:red; 
    font-size:1.9em; 
    padding-top:10px; 
} 

a:hover 
{ 
    color:green; 
}​ 

-- SEE EXAMPLE --

1

没有,因为在任何一国的a元素仍然是一个a元素和元素不能从自身继承。但是,当元素处于其中一种状态时,任何具有a作为选择器的设置也适用。

因此,当您希望某些属性适用于所有状态下的a元素时,就可以使用a选择器来设置它们。

从技术上讲,由于选择器的不同,影响特异性的两个规则在您的问题中并不等同。这很重要的情况很少见,并且在其他样式表应用时会涉及相当特殊的规则。