2012-07-03 5 views
0

테이블 스타일링에서 nth-child 선택기를 사용하여 border : none으로 TD를 설정할 수없는 문제가 발생합니다. 다른 테두리 스타일은 예상대로 작동하지만 border : none은 내가 무엇을해도 상속 된 테두리를 표시합니다.nth-child가 예상대로 테두리에 영향을 미치지 않습니다.

JSfiddle은 여기에 있습니다 : http://jsfiddle.net/7NUtK/1/

+0

'border-right'가 없습니다. 이상한 사람에게는 '경계 왼쪽'이 있습니다. – TheZ

+0

내 실수! 그러나, 수정 후, 나는 여전히 같은 문제가있는 것 같습니다. – RobJSchultz

+0

테스트 한 모든 브라우저에서이 문제가 발생합니까? http://kimblim.dk/css-tests/selectors/ nth-child는 IE8 이하에서 지원되지 않습니다. IE8 이하에 대한 지원을 포함해야한다면 다른 해결책을 제시하는 것이 좋습니다. – cereallarceny

답변

1

은 어쩌면 이것은 당신을 위해 가고 있었다 것입니다. 회색과 흰색 부분 (하위 열)을 가질 때마다 열을 얻으려고하는 것 같았습니다.

선택기 .schedule col:nth-child(even)이 아무런 영향을 미치지 않는 이유는 두 가지입니다. 1. border-left가 col이 아닌 td에 적용되므로 아무 것도 설정하지 않아도됩니다. 다시 td로 선택해야합니다. 2. 두 규칙 모두 동일한 특이성을 가진 것으로 보입니다. 재정의하는 선택기를 재정의하는 선택기보다 더 구체적으로 만드는 것이 일반적으로 좋습니다.

그러나 모든 td에 border-left를 적용한 다음 일부 col에서 border-left를 none으로 설정하는 대신 실제로 원하는 테두리 만 왼쪽에 적용해야합니다. (이것은 내가 분기 된 jsfiddle에서 한 것입니다.)

+0

그건 내가 마음에 두었던 것입니다. 사과하지 않으면 사과드립니다. 감사! – RobJSchultz

0

확실하지 내가,하지만

.schedule td:nth-child(even){ 
    border-left: none; 
} 

에 대한 문제 권리를 얻는 경우에? 일부를 col로 설정하여 td 스타일을 덮어 쓰지 않습니다. http://jsfiddle.net/thNJb/

내가 주위에 몇 선택기를 변경 :

관련 문제