이른바 브라우저 전쟁 시대로 불려지는 Netscape와 Internet Explorer의 경쟁 시대, HTML 3, 4가 개발되던 그 시대에는 HTML에 유난히 많은 Presentation 적인 요소들이 추가 되었다. 아무래도 두 브라우저가 치열하게 경쟁하다 보니 사용자에게 어필할 수 있는 기능들이 필요했고 그 방편으로 화려한 페이지를 꾸미기 위해 HTML에 많은 태그를 추가했던 것이다. 물론 이러한 추가는 문서의 구조와 스타일의 분리를 지키지 못했다는 이유로 몰매를 맞았고 두 회사의 개발자 또는 기획자들은 가끔 이 시대에 자신들이 웹을 망쳐놓았다고 고백하기도 한다. 여하튼 이러한 배경에서 등장한 것이 바로 CSS 이다.
CSS 1은 폰트, 색과 배경, 문자, 박스 모델(크기, Margin, Padding, Border), 리스트 스타일등을 제정할 수 있는 HTML의 Presentation 모듈을 대체하는 언어로서 개발이 되었다. 이를 통해 혼잡해져 가는 웹을 구했다는 평가를 내릴 정도로 CSS는 널리 쓰이게 된다. 사실 현재에도 대부분의 사이트는 CSS 1을 기반으로 개발되고 있다고 볼 수 있다. (물론 브라우저 호환성의 문제 때문이기도 하지만...)
이후 W3C가 HTML이 아닌 다른 XML 기반의 많은 언어를 개발하기 시작했고, 또한 범용 XML 문서를 위한 스타일 언어의 개발이 필요해지자 CSS 2를 개발하기 시작했다. CSS 2는 비록 (X)HTML과 주로 사용되기는 하지만 범용 XML에도 적용할 수 있도록 설계 되었고 기존 CSS에 디바이스의 종류에 따라 다른 CSS를 적용할 수 있는 미디어 타입, 절대 좌표계, 상대 좌표계 또는 고정적 좌표계를 지원하는 Positioning, 자동 숫자 붙이기 등을 지원하는 Generated Content, 프린팅을 지원하는 Paged Media, 그리고 지난번에 살펴본 음성 브라우저 관련 Aural Media 등의 다양한 기능이 추가 되었다.
물론 아직도 CSS 2.0을 완벽히 지원하는 브라우저는 없다. 사실 이러한 상황을 반영하여 현재 구현사항과 규격내의 오류를 고쳐서 CSS 2.1을 개발 중이다. 하지만 CSS 3.0에 대한 작업 역시 진행 중이다. 그래서 여기서는 CSS 2의 어떠한 점을 개선하고자 하는지... 어떠한 기능이 추가되고 있는지에 대해 살펴보고자 한다.
CSS 2가 현재 가장 많은 비판을 받은 부분은 모듈화이다. CSS 2는 현재 데스크탑에서도 완전히 구현되지 않았을 만큼 복잡한 기능을 가지고 있는데에 반해 CSS 2의 일부 규격만을 구현하여 준수할 수 있는 방법이 없다. 물론 CSS TV Profile (http://www.w3.org/TR/css-tv)이나 CSS Print Profile (http://www.w3.org/TR/css-print)에서 보듯이 프로파일 형태로 규격을 만든 적은 있으나 내용을 보면 기능 하나하나 별로 지원 미지원을 표기해놓은 것으로서 기존 CSS 툴(Authoring Tool 또는 Validator 등)에서 사용되려면 하나하나 지정해야만 한다. 이는 XHTML Modularization을 통해 DTD 또는 XML Schema 구현 만으로 쉽게 일부 모듈을 선택할 수 있고 심지어 SMIL, SVG 등 여러 개의 언어에서 모듈들을 따올 수 있는 XML 기반 언어가 얼마나 멋지게 해결했는지와 비교하면 비판받을만 하다고 볼 수 있다.
그래서 CSS 3는 처음부터 모듈을 기반으로 설계가 되었으며 아예 모듈별로 별도의 표준화가 진행 중이다. (모두 CSS 3지만 일부는 Recommendation, 일부는 Draft 등 상태가 다르다.) 물론 이외에도 다양한 문제점을 해결하고 기능 추가가 이루어 졌다. 앞으로 CSS 3 미리보기 시리즈는 이러한 추가기능들을 하나하나 살펴볼 것이다.
http://www.w3.org/TR/2001/WD-css3-roadmap-20010406/
CSS 1은 폰트, 색과 배경, 문자, 박스 모델(크기, Margin, Padding, Border), 리스트 스타일등을 제정할 수 있는 HTML의 Presentation 모듈을 대체하는 언어로서 개발이 되었다. 이를 통해 혼잡해져 가는 웹을 구했다는 평가를 내릴 정도로 CSS는 널리 쓰이게 된다. 사실 현재에도 대부분의 사이트는 CSS 1을 기반으로 개발되고 있다고 볼 수 있다. (물론 브라우저 호환성의 문제 때문이기도 하지만...)
이후 W3C가 HTML이 아닌 다른 XML 기반의 많은 언어를 개발하기 시작했고, 또한 범용 XML 문서를 위한 스타일 언어의 개발이 필요해지자 CSS 2를 개발하기 시작했다. CSS 2는 비록 (X)HTML과 주로 사용되기는 하지만 범용 XML에도 적용할 수 있도록 설계 되었고 기존 CSS에 디바이스의 종류에 따라 다른 CSS를 적용할 수 있는 미디어 타입, 절대 좌표계, 상대 좌표계 또는 고정적 좌표계를 지원하는 Positioning, 자동 숫자 붙이기 등을 지원하는 Generated Content, 프린팅을 지원하는 Paged Media, 그리고 지난번에 살펴본 음성 브라우저 관련 Aural Media 등의 다양한 기능이 추가 되었다.
물론 아직도 CSS 2.0을 완벽히 지원하는 브라우저는 없다. 사실 이러한 상황을 반영하여 현재 구현사항과 규격내의 오류를 고쳐서 CSS 2.1을 개발 중이다. 하지만 CSS 3.0에 대한 작업 역시 진행 중이다. 그래서 여기서는 CSS 2의 어떠한 점을 개선하고자 하는지... 어떠한 기능이 추가되고 있는지에 대해 살펴보고자 한다.
CSS 2가 현재 가장 많은 비판을 받은 부분은 모듈화이다. CSS 2는 현재 데스크탑에서도 완전히 구현되지 않았을 만큼 복잡한 기능을 가지고 있는데에 반해 CSS 2의 일부 규격만을 구현하여 준수할 수 있는 방법이 없다. 물론 CSS TV Profile (http://www.w3.org/TR/css-tv)이나 CSS Print Profile (http://www.w3.org/TR/css-print)에서 보듯이 프로파일 형태로 규격을 만든 적은 있으나 내용을 보면 기능 하나하나 별로 지원 미지원을 표기해놓은 것으로서 기존 CSS 툴(Authoring Tool 또는 Validator 등)에서 사용되려면 하나하나 지정해야만 한다. 이는 XHTML Modularization을 통해 DTD 또는 XML Schema 구현 만으로 쉽게 일부 모듈을 선택할 수 있고 심지어 SMIL, SVG 등 여러 개의 언어에서 모듈들을 따올 수 있는 XML 기반 언어가 얼마나 멋지게 해결했는지와 비교하면 비판받을만 하다고 볼 수 있다.
그래서 CSS 3는 처음부터 모듈을 기반으로 설계가 되었으며 아예 모듈별로 별도의 표준화가 진행 중이다. (모두 CSS 3지만 일부는 Recommendation, 일부는 Draft 등 상태가 다르다.) 물론 이외에도 다양한 문제점을 해결하고 기능 추가가 이루어 졌다. 앞으로 CSS 3 미리보기 시리즈는 이러한 추가기능들을 하나하나 살펴볼 것이다.
http://www.w3.org/TR/2001/WD-css3-roadmap-20010406/
공유하기 버튼
|
|





최근 덧글