2013-10-08 5 views
0

나는 이런 일이 :잘못된 CSS 선택기 :하지()

ul.select.open li:first-child:not(li ul) a 

을 그리고 내 콘솔에 경고를 받고 미안. 왜 유효하지 않습니까? 그것은 내 사이트에서 볼 수있는 것으로 작동합니다. 즉, 첫 번째 하위 목록 앵커에는 스타일을 적용하지만 하위 하위 목록에는 앵커가 아닌 스타일을 적용합니다.

내가 왜 잘못되었지만 어쨌든 작동하는지 알고 싶습니다.

+0

어떤 브라우저/버전입니까? –

+1

'li : first-child : not (li ul)'은 'ul'이 절대로 'li'이 될 수 없기 때문에 이해가되지 않습니다. 나는 그것이 브라우저가 불평하고있는 것이 무엇인지 의심 스럽다. – Musa

+0

무사, 음, 나는 가정합니다 : li 안의 어떤 li ul도 신청하지 않습니다 : first-child. 내가 틀렸어? 어쨌든 내가 말했듯이, 실생활에서 크롬, 파이어 폭스, 사파리를 보면서 작동합니다. 그건 문제가 아닙니다. – rgdesign

답변

4

그것은 때문에 negation pseudo-class, :not(X), X이어야합니다 간단한 선택에 유효하지 않은, 그리고 ul li는 없습니다. 적합 브라우저는 유효하지 않은 셀렉터가있는 규칙을 무시해야하므로 규칙이 어떻게 든 작동하면 브라우저 버그로 간주됩니다.

+0

그게 내가 원하는 것을 할 수있는 방법이 아니기 때문에 부모 목록에있는 앵커에 대해서만 스타일을 적용해야하지만, 자식 목록에는 앵커에 대한 스타일을 적용 할 필요가 없으므로 LI 안에 목록이 있다면 말입니다. 어떤 아이디어, 나는 또한 사용하여 tryied했습니다,하지만 난 그것을 얻을 수 없습니다. – rgdesign

+0

나는 왜 구조가 무효 한 질문에 대답했습니다. 구조가 실제로 작동하지 않습니다 (다른 방법으로 생각하면 데모를 보여주십시오). 어쨌든 작동하는 이유는 사실이 아닙니다. 특정 스타일의 스타일을 지정하는 방법을 묻고 싶다면 다른 질문입니다. 따라서이 답변을 받아 들여 충분한 세부 사항 (원하는 스타일에 대한 구두 설명, 그 * 반영된 질문 제목, 설치가 실제로 무엇인지 보여주는 샘플 HTML 마크 업)을 묻는 것이 좋습니다. 대답은 특정 마크 업 구조에 크게 의존합니다. –

+0

확실한 jukka, 당신의 대답은 옳습니다. 감사 – rgdesign