2016-08-23 5 views
3

선택자에서 공백은 자손을 나타낼 수 있습니다. 그러나 공백이 무시 될 수도 있습니다.CSS 선택자의 공백

  • 공백이 , 주위에 사용하고 상황에 맞는 문자 (예 : +>) 할 수있다 : 내 테스트에서

    , 여기에 내가 뜻 생각 것입니다.

  • 공백 하지는 의사 클래스와 요소 문자 (:::)뿐만 아니라 속성 선택기 ([…])의 주위에 사용할 수있다.
  • 공백은 이 아니며은 클래스 및 id 문자 (.#)와 함께 사용할 수 있습니다.
  • "문자열"안의 공백이 중요합니다.
  • 다른 모든 공백은 무시됩니다. 여기에는 속성 선택기 내부의 패딩이 포함됩니다.

질문은 (a) 공식적인 내용입니까? 그리고 (b)이 부분은 어디에 적용됩니까?

+0

','주위의 공백은 기술적으로 "CSS 선택자의 공백"이 아닙니다. "셀렉터"라는 용어는 개별 셀렉터를 지칭하는데 사용되며 CSS 규칙 왼쪽의 셀렉터로 구분 된 셀렉터 목록은 "셀렉터 목록"이라고합니다. –

+0

@torazaburo 그 의견을 보내 주셔서 감사합니다. 용어는 다른 사람들에게 가르치 려 할 때 중요합니다. – Manngo

답변

3

모든 결론이 정확합니다. this question에 대한 답변에서 다루는 속성 선택자의 공백과 관련하여 뉘앙스가 있습니다.

공백이 표시 될 수도 있고 표시되지 않을 수도있는 정확한 규칙은 모두 grammar에 있습니다. 문법의 목적 상, 참조하는 "문맥 문자 (예 : +>)"는 공식적으로 연결자로 알려져 있습니다. CSS1에서 처음 사용 된 문맥 선택기 (contextual selector)는 이후 등장하지 않았다.

두 개의 단순 선택자를 구분하는 연속 된 공백 문자는 모두 하나의 하위 결합 자로 간주된다는 점을 기억해야한다. pseudo-elements, pseudo-class, 속성 선택자, 클래스 선택자 및 ID 선택자에 대한 구분 기호 주위에서 공백이 "허용"되지 않는 이유는 중요성을 가지므로 그 존재가 선택 자의 의미를 변경하기 때문입니다.

+0

문법 및 올바른 용어에 대한 링크뿐만 아니라 정보를 제공해 주셔서 감사합니다. 나는 항상 콤비 네이터로서 공간을 사용하는 것이 불행한 일 이었지만, 공간의 정확한 사용을보다 복잡하게 묘사하는 것은 물론, 분리 기호가 아닌 모든 공간이 무시 될 수 있다고 말할 수있는 다른 언어와 완전히 일치하지 않습니다 . – Manngo

+0

@Manngo : 참으로. [작업반은 동의한다.] (https://wiki.csswg.org/ideas/mistakes) – BoltClock