2012-04-17 2 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

답변

5

예, 올바른 의사 상태는 값을 상속합니다.

일관성을 위해 가짜 상태 규칙에서 변경하려는 스타일 만 선언하는 것이 가장 좋습니다. 다음 코드와

, 텍스트는 항상 :hover 상태에 관계없이 padding-top:10px로, font-size:1.9em 될 것입니다 :

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

a:hover 
{ 
    color:green; 
}​ 

-- SEE EXAMPLE --

1

아니, 상태 중 하나에 a 요소가 여전히 a 때문에 요소를 가지며 요소는 그 자체에서 상속받을 수 없습니다. 그러나 요소가 상태 중 하나에있을 때 선택자로 a이있는 모든 설정이 적용됩니다.

따라서 일부 속성을 모든 상태의 a 요소에 적용하려면 a 선택기를 사용하여 설정해야합니다.

기술적으로 두 세트의 규칙은 특이성에 영향을 미치는 선택자의 차이로 인해 동일하지 않습니다. 이 문제가 중요한 상황은 드물며 적용되는 다른 스타일 시트의 특별한 규칙을 포함합니다.

관련 문제