2012-02-29 2 views
1

탐색 모음이 있으며 li 요소의 "하위"클래스로 표시된 활성 페이지가 검정 대신 흰색 텍스트로 표시되어야합니다. HTML과 CSS는 다음에서 찾을 수 있습니다 : http://jsfiddle.net/a4hBz/"활성"클래스가있는 텍스트 색상

CSS의 .subactive 선택기에서는 색상을 사용하지만 브라우저에서는 무시됩니다.

.subactive a 
{ 
    color: #fff!important; 

    /**/ 

} 

또는 정의의 specificity을 증가 :

답변

4

합니다. ID 항상은 표준 태그 이름, 클래스 이름 또는 의사 클래스보다 더 많은 출현율을 보입니다. 간단한 해결책은 나머지 표준 요소와 마찬가지로 "액티브"스타일을 적용하는 앵커 클래스와 관련성이 있습니다. 기본적으로 : 그 스키마 작동하지 않는 경우

.subactive a 

#sidenav .subactive a 

될 경우, 당신이 필요하거나 클래스에 #sidenav을 설정하거나 해결 방법이 다른 방법 것입니다. 그런데


는, 내가 이전에 언급되었다 스타일의 specificity입니다. 그것은 현재 로선, 당신의 스타일과 같이에서 무게 :

#sidenav a    a=0, b=1, c=0, d=1 -> specificity = 0,1,0,1 
.subactive a   a=0, b=0, c=1, d=1 -> specificity = 0,0,1,1 
#sidenav .subactive a a=0, b=1, c=1, d=1 -> specfiicity = 0,1,1,1 

는 거의 이런 식으로 생각 :

(a * 1000) + (b * 100) + (c * 10) + d 

가장 많은 스타일이 승리합니다.

+0

선택자 수준 3은 선택자와 관련이없는 인라인 스타일을 버리므로, 네 번째 왼쪽 끝을 제외하고 특이성을위한 값의 세 쌍을 얻습니다. – BoltClock

+0

@BoltClock : 피곤하거나 댓글이 명확하지 않습니다. 당신은 특이성에 관해서'스타일 = '''오버라이드를 피하고 있습니까? –

+1

내가 의미 한 바는 선택기를 가리키는 특이성을 의미했기 때문에 인라인 스타일은 계산되지 않아야하므로 특이성을 계산하기위한 CSS3 사양에서 제외되었습니다. 그것들은 항상 CSS 규칙을 오버라이드하지만 ('! important'는 관련이 없습니다), 그것이 특이성보다는 계단 자체입니다. 어쨌든 주목할만한 것입니다. – BoltClock

1

어느 !imporatant를 추가로 인해 CSS는 스타일 "무게"방법에 크게의

http://www.w3.org/TR/CSS2/cascade.html#specificity

+3

최종 사용자를 위해 설계된 속성 중 하나 였고 접근하기 쉬운 경우에는 스타일을 무시하므로 항상'! important'를 피하려고했습니다. 가능한 한 많이 사용하는 것을 피하는 것이 저의 겸허 한 의견입니다. –

+0

그렇기 때문에 '특이성'에 대해 언급 한 이유는 ... – xandercoded

0

내가 중요하지 않은 경우! important를 사용하지 않겠습니다.

그것이 내가 선을

#sidenav a:hover, .subactive a 

#sidenav a:hover, #sidenav .subactive a:link 

에를 교체하고 사용하지 않는 것하는 아래의 코드를 제거 할 작동하게하려면

.subactive a 
{ 
    color: #fff; 
    background-color: #034676; 
} 

작업 예제를 http://jsfiddle.net/a4hBz/1/

에서 확인하십시오.
+1

질문과 답변이 일반적으로 같은 페이지에서 발견되므로 친절한 알림입니다. jsFiddle에 제출 한 솔루션이 참조되고 참조되지만, 지금부터 누군가가 솔루션을 원했지만 귀하의 링크가 더 이상 유효하지 않은 경우에는 변경 사항이 귀하의 답변에 게시되어있는 경우 여기에 (일/월/년) 항상 게시하는 것이 좋습니다. 그 외, SO에 오신 것을 환영합니다! –

+0

조언을 주셔서 감사합니다. 가능한 한 최선의 방법으로 질문에 답변 할 수있는 역량을 구축해 나갈 것입니다. 감사 – Filype