2012-04-17 39 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選擇器來設置它們。

從技術上講,由於選擇器的不同,影響特異性的兩個規則在您的問題中並不等同。這很重要的情況很少見,並且在其他樣式表應用時會涉及相當特殊的規則。