 | 부록 B. CSS1으로부터의 변화 | |
이 부록은 지명적이 아니고 정보제공을 위한 것이다.
CSS2는 CSS1 위에 만들었고 모든 유효한 CSS1 스타일쉬트들은 CSS2 스타일쉬트들에서도 유효하다.
번역문 CSS1 규격에서 부터 이 규격으로의 변경들은 새로운 기능, CSS1 기능성의 업데이트, CSS1으로 부터의 변경들, 세개의 그룹들로 묶었다.
CSS1 기능성에 추가하여 CSS2 지원들은:
- 메디아(media) 타입들의 개념.
- 모든 속성들에서 전달('inherit') 값.
- 페이지화된 메디아(paged media)
- 소리(aural) 스타일쉬트
- 목록 번호붙이기 스타일, 양방향 텍스트 지원, 언어에 예민한 따옴표의 지원 등을 포함한, 여러 국제화 기능들.
- 지능적 일치(matching), 합성(synthesis), 글꼴 다운로드를 포함한 확장된 글꼴의 선택 기능.
또한, 시스템 글꼴(system font) 개념의 소개와 새로운 속성인 'font-size-adjust'가 추가되었다.
- 'display'와 'vertical-align'에 새로운 값들을 포함한 테이블.
- 고정된 위치 잡기(fixed positioning)를 포함한 상대위치와 절대위치.
- 새로운 박스 타입들(블럭과 인라인을 따라): 치밀(compact)과 선행(run-in).
- 보이는 양식화 모델에서 넘처흐름(overflow), 잘림(clipping), 보임성(visibility) 내용 제어 능력.
- 보이는 양식화 모델에서 최소, 최대 너비와 높이를 지정할 수 있는 능력.
- 자식 선택자, 인접(adjacent) 선택자, 애트리뷰트 선택자를 포함한 확장된 선택자(selector) 기능.
- 생성된 내용, 카운터(counter), 자동 번호붙이기(numbering)와 표시자(marker).
- 새로운 'text-shadow' 속성을 통한 텍스트 그림자.
- 여러 새로운 가상클라스(pseudo-class), :first-child, :hover, :focus, :lang.
- 사스템 색상과 글꼴.
- 커서(cursor).
- 탄력적 아우트라인(dynamic outline).
CSS1 규격은 짧고 요약적이었다.
이 규격은 대단히 많은 볼륨을 갖고 읽을 것이 많다.
많은 추가적 내용이 새로운 기능들이 설명되나, CSS1의 기능 또한 확장되었다.
아래 설명한 새로운 경우를 제외하고는 다시 쓰여진 설명들은 문법이나 어의상의 변화를 표시하지 않았다.
모든 CSS1 스타일쉬트들이 유효한 CSS2 스타일쉬트들이어서, 아주 소수의 CSS1 스타일쉬트 만이 CSS2 스타일쉬트로 해석될 때 다른 의미를 갖는다.
대부분 변경들은 피드백을 통한 경험이 이 규격에 적용되었고 일부 오류들도 수정되었다.
- "!important"의 의미는 변경되었다.
CSS1에서, 제작자의 스타일쉬트의 "!important"는 사용자 스타일쉬트의 것에 우선 적용되었었다.
이는 CSS2에서 수정되었다.
- CSS1에서는 sRGB 범위에서 그렇지 않았으나, CSS2에서 색상(color) 값들은 장치 범위를 고려하여 잘려진다.
- CSS1에서 'margin-left'와 'width' 둘 다 설정되었으면, 단순히 씌어진 'margin-right'는 무시되었었다.
CSS2에서는 쓰는 방향에 따라 'margin-right' 또는 'margin-left' 중에서 선택한다.
- CSS1에서, 여러 속성들(예: 'padding')은 모체 엘레멘트의 너비를 참조하는 값들을 가졌었다.
이는 오류였다; 그 값은 항상 블럭레벨(block-level) 엘레멘트의 너비를 참조해야 되었었으나,
이 규격은 "용기블럭(containing block)" 이라는 용어를 소개 함으로서 반영하였다.
- CSS2에서 'display'의 최초값은 'inline'으로 CSS1에서 'block'과는 다르다.
- CSS1에서, 'clear' 속성은 모든 엘레멘트들에 적용되었었는데 이것은 오류였었다.
CSS2에서는 이 속성이 블럭레벨 엘레멘트들에 만 적용된다.
- CSS1에서, ':link', ':visited'와 ':active'들은 상호 배타적이었으나, CSS2에서는 ':active'가 ':link' 또는 ':visited'와 함께 나올 수가 있다.
- 글꼴 크지 테이블에서 인접 'font-size' 인덱스들사이의 제안된 확대 배율(scaling factor)은 1.5에서 1.2로 감소되었다.
- 'font-size'의 실제값이 아니라, 계산된 값이 전달(inherit)된다.
- CSS1에서, 불렛(bullet)의 위치가 아니라 텍스트의 왼쪽 마진이 영향을 받도록 해석되도록, 'list-style-position'에서'inside'가 허용되었었다.
CSS2에서 이 해석은 정리되었다.
- 지명적 CSS1와 CSS2의 토큰화(tokenizer) 차이 항목도 참조하라.
맨위이
문서(http://trio.co.kr/webrefer/css2/changes.html)는 자유로이 연결 사용이 가능함.
(수정일 04/03/2025 07:14:38)