이 모듈은 스타일 시트의 일부를 조건부로 처리하기 위한 CSS의 기능을 포함하고 있으며, 스타일 시트가 적용되는 프로세서의 역량이나 환경에 따라 동작합니다.
CSS Conditional 3 [css-conditional-3]의 기능을 포함하고 확장하며,
새로운 selector() 표기법을 통해 특정 셀렉터 [SELECTORS-4] 지원 여부를
질의할 수 있도록 supports 쿼리 기능을 추가합니다.
CSS는 구조화된 문서(HTML, XML 등)의 렌더링을 화면, 인쇄물 등에서 기술하기 위한 언어입니다.
이 문서의 상태
이 섹션은 출판 시점의 이 문서 상태를 설명합니다.
최신 W3C 출판물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.
이 문서는 CSS 작업 그룹에 의해 후보 권고안 초안으로 권고안 트랙을 통해 출판되었습니다.
후보 권고안으로 출판된 것은 W3C 및 회원의 지지를 의미하지 않습니다.
후보 권고안 초안은 이전 후보 권고안에서 작업 그룹이 다음 후보 권고안 스냅샷에 포함하려는 변경사항을 통합합니다.
이 문서는 초안이며, 언제든지 업데이트, 교체 또는 폐기될 수 있습니다.
진행 중인 작업 외의 문서로 인용하는 것은 적절하지 않습니다.
피드백은 GitHub 이슈 등록(권장),
제목에 “css-conditional” 사양 코드를 포함하여 “[css-conditional] …코멘트 요약…” 형식으로 제출해 주세요.
모든 이슈와 코멘트는 아카이브됩니다.
또는 피드백은 (아카이브됨) 공개 메일링 리스트 www-style@w3.org로
보낼 수 있습니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성되었습니다.
W3C는 그룹 산출물과 관련하여 공개된 특허 공개 목록을 유지합니다;
해당 페이지에는 특허 공개 방법도 포함되어 있습니다.
특정 특허에 대한 실제 지식을 가진 개인은
필수적 청구항이 있다고 판단될 경우,
W3C 특허 정책 6절에 따라 정보를 공개해야
합니다.
적합성 요구사항은 설명적인 단정문과 RFC 2119 용어의 조합으로 표현됩니다. “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
“SHOULD NOT”, “RECOMMENDED”, “MAY”, “OPTIONAL”과 같은 주요 단어들은 이 문서의 규범적 부분에서 RFC 2119에 명시된 대로 해석되어야 합니다.
가독성을 위해, 이 명세에서는 이러한 단어들이 모두 대문자로 나타나지 않습니다.
이 명세의 모든 텍스트는 명시적으로 비규범적이라 표시된 섹션, 예제, 참고를 제외하면 규범적입니다. [RFC2119]
스타일 시트가 이 명세에 적합하려면, 이 모듈에 정의된 문법을 사용하는 모든 구문이 일반 CSS 문법과 각 기능의 개별 문법에 따라 유효해야 합니다.
렌더러가 이 명세에 적합하려면, 적절한 명세에 정의된 대로 스타일 시트를 해석하는 것에 더해, 이 명세에 정의된 모든 기능을 올바르게 파싱하고 문서를 해당 기능에 따라 렌더링해야 합니다. 단, UA가
기기의 한계로 인해 문서를 올바르게 렌더링하지 못하더라도 UA는 비적합하다고 간주되지 않습니다. (예: UA가 단색 모니터에서 색상을 렌더링할 필요는 없습니다.)
저작 도구가 이 명세에 적합하려면, 이 모듈의 일반 CSS 문법과 각 기능의 개별 문법에 따라 문법적으로 올바른 스타일 시트를 생성해야 하며, 이 모듈에서 설명하는 모든 스타일 시트의 적합성 요구사항을
충족해야 합니다.
부분 구현
저자가 전방 호환 파싱 규칙을 활용하여 대체값을 지정할 수 있도록, CSS 렌더러는 지원 가능한 수준이 없는 at-규칙, 속성, 속성값, 키워드 및 기타 문법 구조를 무효로
간주하고 적절히 무시해야 합니다. 특히, UA는 지원되지 않는 구성값만 선택적으로 무시하고
지원되는 값은 적용해서는 안 됩니다: 하나의 다중값 속성 선언에서 값 중 하나라도 무효(지원되지 않은 값)라면 CSS는 전체 선언을 무시하도록 요구합니다.
불안정 및 독점 기능의 구현
미래에 안정화될 CSS 기능과의 충돌을 피하기 위해, CSSWG는 최선의 구현 관례를 따를 것을
권장합니다. 불안정 기능 및 독점 확장의 구현 시 참고하십시오.
비실험적 구현
명세가 후보 권고안 단계에 도달하면 비실험적 구현이 가능해지며, 구현자는 명세에 맞게 올바르게 구현된 CR 레벨의 기능에 대해 접두사 없는 구현을 배포해야 합니다.
CSS의 구현 간 상호운용성을 확립하고 유지하기 위해, CSS 작업 그룹은 비실험적 CSS 렌더러에게 구현 보고서(필요시 해당 보고서에 사용된 테스트케이스 포함)를 W3C에 제출한 후 CSS 기능의
비접두사 구현을 배포할 것을 요청합니다. W3C에 제출된 테스트케이스는 CSS 작업 그룹의 검토 및 수정 대상이 됩니다.
이 명세가 제안 권고안(Proposed Recommendation)으로 진전되려면 각 기능에 대해 최소 두 개의 독립적이고 상호운용 가능한 구현이 있어야 합니다. 각 기능은 서로 다른 제품군에서 구현될
수 있으며, 모든 기능을 단일 제품에서 구현할 필요는 없습니다. 이 기준의 목적을 위해 다음 용어를 정의합니다:
독립적
각 구현은 서로 다른 당사자가 개발해야 하며, 다른 구현에 사용된 코드와 공유, 재사용, 파생될 수 없습니다. 이 명세의 구현과 관련 없는 코드 영역은 이 요구사항에서 제외됩니다.
상호운용 가능
공식 CSS 테스트 스위트의 해당 테스트케이스(들)를 통과하거나, 구현이 웹 브라우저가 아니면 이에 상응하는 테스트를 통과해야 합니다. 해당 UA(사용자 에이전트)를 상호운용성 주장에 사용할
경우, 모든 관련 테스트에 대해 동등한 테스트가 생성되어야 하며, 추가적으로 해당 테스트를 동일하게 통과하는 하나 이상의 UA가 있어야 상호운용성 목적을 충족합니다. 동등 테스트는 동료
검토(peer review) 목적으로 공개되어야 합니다.
구현
사용자 에이전트(UA)로서:
명세를 구현합니다.
일반 대중에게 제공됩니다. 구현은 출시 제품일 수도 있고, 공개된 기타 버전(베타, 프리뷰, "야간 빌드" 등)일 수도 있습니다.
출시되지 않은 제품 버전의 경우, 해당 기능을 최소 한 달간 구현해 안정성을 증명해야 합니다.
실험적이지 않아야 합니다(즉, 테스트 스위트를 통과하기 위해 특별히 설계된 버전이 아니며 지속적인 일반 사용을 위한 버전이어야 함).
이 명세는 최소 6개월 동안 후보 권고안(Candidate Recommendation)으로 유지됩니다.