작성일자
카테고리 모바일/CSS3



1. CSS3의 모듈


CSS3는 CSS2.1의 확장버전으로 CSS2.1이 HTML 요소의 효과를 위한 도구였지만 CSS3는 이 효과를 보다 멋지게 표현하기 위한 도구라고 할 수 있습니다. CSS3 단계부터는 CSS항목(Specification)에 대한 개별적인 개발이 아닌 모듈형태로 개발이 되면서 하나의 모듈에는 많은 항목이 있고 하나의 모듈은 독립체로 사용됩니다. 이러한 모듈에는 선택자(Selectors), 텍스트(Text), 배경(Background) 등 여러개가 있습니다. 이러한 모듈 형태의 잇점은 모든 CSS항목이 완료되기를 기다리지 않아도 단계별 발표를 할 수 있다는 것입니다. 즉 하나의 모듈만 완료되더라도 다음에 나오는 개발단계를 단독으로 거칠 수 있기 때문에 웹브라우저의 적용이나 사용이 보다 빨리 이루어진다는 것입니다.

<W3C >

위 표에서 보면 CSS Transform은 Working Draft로 되어있지만 웹브라우저에는 적용이 되어있어서 사용이 가능합니다. 아직 W3C의 최종 Recommendation을 거치지 않았는데도 사용이 가능한 것이죠. 웹브라우저 제작자들은 이러한 단계의 CSS를 사용하기 위해서는 아래처럼 독자적인 Prefix를 붙여서 사용합니다.

transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
-o-transform: rotate(30deg); /* Opera */
-moz-transform: rotate(30deg); /* Firefox */  

2. W3C의 웹개발 단계


작년 9월 W3C(World Wide Web Consortium)에서 CSS4의 선택자 모듈에 관한 Working Draft를 발표했습니다 . 이것이 웹브라우저에 적용이 되면 웹디자인이 휠씬 편리해질 것입니다. W3C는 웹표준을 관리하기 위한 세계적인 기관으로 40여개 국가의 여러 기업, 기관들이 참여하여 웹에 사용되는 각종 웹언어를 개발하고 시험하기위해 단계별 발표를 합니다. Working Draft는 이러한 여러 단계중에 초기에 속합니다. 단계별 수준은 다음과 같습니다.

1. Working Draft 

웹 커뮤니티의 리뷰를 위해 발표되는 단계로 리뷰를 통해 수정이 가해지고 여러단계의 Working Draft를 거칠 수 있습니다. Draft는 초안을 의미합니다.

2. Last Call

최종 주석을 위한 마감시간이 정해진 Working Draft입니다. 개발자 그룹의 의도대로 모듈이 작동하는 단계이지만 이후에도 중요한 수정이 가해지거나 다음단계로 넘어가기 위한 계획에 포함될 수도 있습니다.

3. Candidate Recommendation

모듈이 충분한 조건을 갖추고 안정적이며 웹브라우저 제작자들에게 적용을 권장할 만하고 개발자들도 상시 사용이 가능한 수준의 단계로 이때부터는 웹브라우저별로 달려있는 Prefix를 뗄 수가 있습니다. 이 단계에서도 수정이 가해질 수도 있지만 심각한 정도의 수정은 아닙니다.

4. Proposed Recommendation

최종 서명을 위한 W3C Advisory Committee에 보내질 정도로 성숙하여 충분한 리뷰를 거친 단계입니다. 이 단계이후로는 수정은 거의 없습니다.

5. Recommendation

완성, 종료를 의미하며 "표준"이라고 말할 수 있는 단계입니다.

3. CSS3의 주요 내용


이미지를 사용하지 않는 시각적 효과

이전단계의 CSS에서는 이미지 파일을 사용해야지만 가능했던 시각적 효과를 단지 코드만을 이용하여 가능하도록 했습니다. 예를 들면 둥근 모서리(rounded corners), 그림자 효과(drop shadows), 반투명 배경(semitransparent backgrounds), 그래디언트(gradients), 이미지 테두리(images for borders)가 있습니다. 이러한 새로운 속성들은 주로 배경(Background)이나 테두리(Border), 컬러, Image Values 모듈에 있습니다.

Box transformations

이 또한 시각적 효과를 위한 모듈로 박스의 위치를 조정한다든가 2D, 3D 공간 효과를 위한 모듈입니다. 예를들면 회전(Rotating), 확대 축소(Scaling), 기울이기(Skewing)입니다.  

폰트 모듈

이제 폰트의 사용은 방문자의 컴퓨터에 내장된 폰트에 의존하지 않아도 됩니다. @font-face는 폰트파일을 서버에 업로드하여 웹디자이너가 원하는 폰트로 모든 방문자에게 동일한 폰트를 보여줄 수 있습니다.

강력한 선택자

CSS3에서는 십수개의 새로운 선택자를 도입했습니다. 대부분 pseudo-class와 attridute 선택자들입니다. HTML 요소의 특정한 부분을 타게팅하므로 웹디자인시 다양한 선택자는 자유로운 디자인을 가능하게 합니다. 

Transitions and animations

CSS3의 트랜지션은 하나의 스타일에서 다른 스타일로의 부드럼고 점차적인 변화가 가능합니다. 예를 들면 마우스 오버시 버튼 색상의 변화를 줄 수 있습니다. 이는 애니메이션의 단순한 효과이지만 트랜지션모듈에 포함되고 애니메이션 모듈은 별도의 모듈로서 좀더 복잡한 스타일의 변화나 동작이 가능합니다. 이는 플래시나 자바스크립트가 필요하지 않습니다.

미디어쿼리(Media Queries) 

미디어쿼리 모듈은 여러개의 스타일 시트를 여러종류의 스크린 사이즈에 따라서 변화가 가능하도록 합니다. 모바일 웹 시대에 적합한 모듈입니다. 

다중 컬럼 레이아웃(Multiple-column layouts)

CSS3는 다중 컬럼 레이아웃이 쉽도록 새로운 모들을 개발했습니다. Multicolumn Layout은 하나의 그룹에 있는 텍스트가 신문처럼 여러개의 컬럼으로 나뉠 수 있도록 하는 모듈입니다. Flexible Box Layout은 기존의 position이나 float가 하는 것보다도 신축성있게 여러개의 블럭을 수평이나 수직으로 나열할 수 있는 모듈입니다. 이밖에도 Template Layout이나 Grid Positioning과 같은 실험적인 모듈이 있습니다.

4.  CSS와 웹브라우저



CSS3는 현재 국민 웹브라우저인 인터넷 익스플로러로 인해서 거의 사용되지 않고 있습니다. IE9버전이 지원을 하기는 하지만 제한적입니다. 캔아이유즈닷컴 에 가면 CSS뿐만 아니라 현재 개발중이거나 발표된 웹 언어의 사용이 웹브라우저별로 가능한지 확인할 수 있습니다.  


각 항목을 선택하면 5대 브라우저에서 어떤 버전이 가능한지 확인이되고 모바일 웹브라우저도 나옵니다. 


CSS3의 애니메이션 부분을 보면 구글 크롬, 애플 사파리, 파이어폭스 등은 많은 버전이 지원이 가능하지만 인터넷 익스플로러는 아직 지원이 안되고 있습니다. 우리나라 국민의 대다수인 90%가 IE를 사용하고 있고 CSS의 적(Enemy)인 IE6버전을 사용하는 사람도 7%나 됩니다.


MS가 웹브라우저를 독점하던 시절의 IE6는 전세계적으로 90%이상의 점유율을 기록했습니다. 그 후유증이 위와같은 표로 나타납니다. IE는 지난해 말 공식적으로 인터넷 익스플로러 6버전을 사용하는 경우 업그레이드할 것을 권유하는 메시지를 띄우기로 결정했다고 합니다. 또한 위 사이트에 가면 IE가 지원하는 프로젝트인 IE6 카운트다운 에 참여할 수가 있죠. 즉 MS에서 제공하는 코드를 웹페이지에 삽입하면 IE6을 사용하는 방문자는 아래와 같은 메시지가 나옵니다.


한글을 선택하면 위 박스처럼 안내 메시지가 나옵니다. 우리나라의 컴퓨터 보급률에 비하면 7%는 적은 숫자죠. 이 버전을 사용하는 분들도 그만한 사정이 있는 것이겠죠.

5. CSS3와 모바일 웹브라우저


현재 모바일 웹 시장은 무한합니다. 미국의 리서치 기관인 가트너의 보고에 의하면 내년이면 모바일이 데스크탑을 넘어선다고 합니다. 모바일 웹브라우저는 HTML5와 CSS3를 적극 지원하고 있습니다. 특히 모바일 디바이스용으로 나온 제이쿼리 모바일 버전은 이 두가지 언어를 사용해야만 가능합니다.


웹브라우저 제작자가 새로운 기술인 CSS3와 HTML5의 지원 여부는 모바일시장에 달려있다고 생각됩니다. HTML5는 다양한 컨텐트 제작이 가능하므로 거의 대부분의 웹브라우저가 서로 새로운 기술을 지원하려고 적극 나서고 있습니다. 현재 HTML5의 다양한 속성도 웹브라우저 시장의 점유를 위해서 신속히 도입하려고 하죠. HTML5는 원래 2022년에나 표준으로 승인이 날 예정이지만 웹브라우저가 먼저 적용을 시키므로서 상단한 부분이 빠른 시일내에 모든 웹브라우저에 적용될 것입니다. 

저작자 표시 비영리 변경 금지
신고
BlogIcon 찡☆

본문을 온전히 이해하진 못했지만 익스에서도 크롬처럼 다양한 효과가 적용되면 좋겠네요. 폰트 그림자를 줬는데 익스에선 안 보이더라구요. 전 다중컬럼 레이아웃이 가장 눈에 띄네요. 이런 글 읽으면 웹디자이너가 부럽기도 하고 본격적으로 배우고 싶다는 욕구가 샘솟아요. 좋은 정보 잘 읽었습니다^^

BlogIcon 베누시안

ie가 새로운 버전이 나온다고 해도 기존에 ie를 사용하던 사람들이 업그레이드를 하지 않는 이상 모든 방문자들에게 같은 효과를 기대할 수가 없죠. 그래서 CSS3는 웹디자인시 제한이 있습니다. 하지만 모바일은 CSS3를 다 지원할 것이므로 제한은 없죠.

BlogIcon 찡☆

그렇군요. 결국 제 고민은 새로운 익스가 나온다고 해결되는 것은 아니군요; 웹디자이너들도 기술이 있다고 다 쉽게쉽게 할 수 있는 일은 없네요;

BlogIcon 베누시안

그래도 최신 버전의 ie에서는 되니까 그냥 옛날 버전은 무시하고 최신버전을 기준으로 웹디자인하기도 한답니다. ie가 웹개발자들에게 인기가 없으니 MS에서 강제적으로라도 업그레이드를 하겠죠. 외국은 점유율이 계속 떨어지고 있는데 우리나라는 점유율이 내려가지를 않네요.

BlogIcon 쭈르꾸이

글보고 IE6 카운트다운 저도 참여하고 왔네요. 어서 자유롭게 CSS3를 활용해 코딩을 할 수 있게 다른 좋은 브라우저들의 점유율이 놓아지길 기원합니다. CSS3의 주요기능 멋지네요. 글 잘 읽었습니다.

BlogIcon 베누시안

안녕하세요. 반갑습니다. 잘하셨습니다. 하루라도 빨리 IE6에서 벗어나야죠.

adung

혹시 말입니다... 그.. 더이상 떨어지지 않는 7%가.. 혹시 우리같은 개발자가 아닐까... 요??
전 그냥 그런 궁금증이 있더라구요...

티스토리 툴바