2017-03-23 9 views
0

저는 CSS에 능숙하지는 않지만 특이성에 대한 기본적인 생각을 이해합니다 (또는 그렇게 생각합니다). 최근 I (이 부분 비트 피검 소자에 효과적 부분이다)과 같이 각각의 셀에 대해 정의 된 부트 스트랩 (3)의 테이블 CSS을 무시하려고 노력 하였다CSS 특수성 : ID가있는 선택자가 클래스의 선택 자보다 우선 적용되지 않습니까?

.table > tbody > tr.danger > td, .table > tfoot > tr.danger > td { 
    background-color: #ddd; 
} 
I이려고

이와 함께, 해당 셀을 포함 전체 행의 배경색을 오버라이드 (override) : 내가 알기로 인해 ID에 높은 특이성을 가지고,

table#results > tbody > tr.highlighted { 
    background-color: #ffd15b; 
} 

. 내 CSS에서 아이 td을 도입 전까지는 전혀 작동하지 않는 :

table#results > tbody > tr.highlighted > td { 
    background-color: #ffd15b; 
} 

왜 내 첫 번째 시도에서 일을 했습니까? Safari 및 Chrome (최신 버전)에서 모두 시도했습니다.

답변

2

문제는 CSS의 특수성이 아니라 단지 행의 배경을 숨기는 셀의 배경 (<tr>) 일뿐입니다.

+0

자식 요소에 스타일이 부모 요소에 우선합니다 (또는 숨기기) 스타일 않습니다 아래처럼 부모 테이블에 경계 붕괴 속성을 추가? – BrDaHa

+1

@BrDaHa - "일반적으로"는 여기에 적용되지 않습니다. 표 셀의 배경에는 사양의 [17.5.1 표 레이어 및 투명성] (https://www.w3.org/TR/CSS22/tables.html#table-layers)에 설명 된 특정 규칙이 있습니다. – Alohci

+0

@Alohci 감사합니다. 내 지식의 차이가있었습니다. – BrDaHa

0

시도 일반적으로 그래서
table#results { border-collapse: collapse;}

+0

그래, 작동하지 않습니다. 이 질문에 대한 답이 확실하지 않고 bootstrap normalize.less 파일에서 이미 적용되었습니다. – BrDaHa