CSS
CSS는 Cascading Style Sheets의 약자로서, 웹 문서의 색상, 폰트, 레이아웃 등을 표현하기 위해 사용하는 스타일 시트 언어이다. 씨에스에스라고 읽는다. 종속형 시트 또는 캐스케이딩 스타일 시트라고도 한다. 1996년 CSS1, 1998년 CSS2, 2005년 CSS3가 발표되었다.
목차
개요
CSS는 웹 페이지의 모양과 느낌을 처리한다. CSS는 텍스트 색상, 글꼴 스타일, 문단 간격, 열 크기 및 배치 방법, 사용되는 배경 이미지 또는 색상, 레이아웃 설계 등 여러 가지를 제어할 수 있다. CSS는 배우기 쉽고 이해하기 쉬우면서도 HTML 문서를 강력하게 제어할 수 있다. 보통 일반적으로 HTML과 XHTML에서 주로 쓰인다.
등장배경
웹페이지를 아름답게 디자인하는 방법은 두 가지가 있다 쉬운 것은 HTML 에 직접적으로 style 태그를 추가하는 것이다. 다른 방법은 이보다 어렵기는 하지만 근본적 해결책이라고 할 수 있는 CSS이다. CSS없이 HTML만 배우는 것은 흑백으로 그림을 그리는 것과 같다. 어떠한 그림이든 그릴 수는 있어도 아름다운 색들을 쓸수가 없기 때문이다. <style>이란 태그는 HTML의 문법이면서 동시에 이 <style>이라는 태그 안쪽에 있는 내용은 CSS니까 이것을 CSS라는 언어의 문법에 맞게 해석해서 처리해야 한다. 이 코드를 통해 태그가 1개 이거나 10억개 여도 순식간에 바뀌는 폭발적인 효과를 얻을 수 있다. 생활 코딩에서는 코딩을 어떻게 잘할지가 아니라 어떻게 할지에 집중한다고 한다. 하지만 유일하게 코딩을 잘하는 방법은 바로 '중복의 제거'이다. 만약 <a> 라는 태그가 10억개가 있는데 중복하여 스타일을 적용시킨다면 이 웹페이지의 사이즈는 어마어마하게 커질 것 이다. 따라서 CSS의 코드를 이용해 같은 성격의 것을 한번에 바꿀 수 있는 것은 유지 보수를 편하게 하며 가독성을 높일 것 이다. 그리고 HTML은 중요하기에 정보라는 특성에 전념하여 HTML로 부터 디자인의 기능을 뻿어 등장하게 되었다.기존의 HTML은 웹 문서를 다양하게 설계하고 수시로 변경하는데 많은 제약이 따르는데, 이를 보완하기 위해 만들어진 것이 스타일 시트이고 스타일 시트의 표준안이 바로 CSS이다. 간단히 스타일 시트라고도 한다. HTML을 이용해서 웹 페이지를 제작할 경우 전반적인 틀에서 세세한 글꼴 하나 하나를 일일이 지정해주어야 하지만, 웹 페이지의 스타일(작성형식)을 미리 저장해 두면 웹 페이지의 한 가지 요소만 변경해도 관련되는 전체 페이지의 내용이 한꺼번에 변경되므로, 문서 전체의 일관성을 유지할 수 있고 작업 시간도 단축된다. 따라서 웹 개발자들은 보다 풍부한 디자인으로 웹을 설계할 수 있고, 글자의 크기, 글자체, 줄간격, 배경 색상, 배열위치 등을 자유롭게 선택하거나 변경할 수 있으며 유지·보수도 간편하게 할 수 있다. [1]
역사
CSS는 1994년 하콤 비움 리(Håkon Wium Lie)가 발명했으며 W3C(World Wide Web Consortium)에서 관리하였다.
- CSS1 : 1996년 12월 W3C에서 권고 사항으로 나왔다. 이 버전은 모든 HTML의 태그에 대한 간단한 시각적 포맷 모델뿐 아니라 CSS의 언어에 대하여 설명한다.
- CSS2 : 1998년 5월 W3C의 권장 사항이 되었으며 CSS1을 기반으로 구축되었다. 이 버전은 프린터 및 청각 장치, 다운로드가 가능한 글꼴, 엘레먼트(element) 위치 지정(positioning) 등을 지원한다.
- CSS3 : 2005년 12월 W3C의 권장 사항이 되었으며 역시 이전 버전이 기반이 되었다. 글자의 특수 효과나 간단한 애니메이션 구현이 가능하게 되었다.
- CSS4 : 하나의 통합된 CSS4 사양이 없이 여러 개의 모듈로 나뉘어져 있다.
특징
- Cascading Style Sheet
- 웹문서에 스타일을 적용하기 위한 언어
- 웹문서의 내용을 구성하는 html과 웹문서의 스타일 선언하는 CSS 문법을 분리함으로써 코드를 간결해 지기 때문에 오류와 버그의 확률이 줄고 수정이 편리, 유지보수가 용이해 진다.
- 위줄에서부터 스타일 적용되어 마지막에 선언된 스타일이 최종 표현되기 때문에 선언 순서가 중요. [2]
- 골격(태그 + 데이터)과 서식을 분리
활용
종류
Internal (Embed) 방식
- 스타일을 적용하려는 특정문서에 직접 선언
- 선언된 특정 문서에만 스타일이 적용
- 일반적으로 head요소 내부에 style태그를 이용
External (Linked) 방식
- 별도의 CSS 문서를 작성해서 스타일을 적용하려는 html문서에 연결
- 한번의 스타일 선언으로 여러 html문서에 동일한 스타일 적용 가능
- head요소 안에 link태그를 이용
Inline 방식
- 스타일을 적용하려는 태그에 직접 선언하는 방식
- style 이라는 태그 속성을 이용
- 유지보수가 불편, 코드가 길어짐
- 응급조치, 테스트용으로 사용 [3]
장단점
장점
- 기능의 확장성 : HTML의 대부분의 요소들의 단순한 기능에 다양한 기능을 추가할 수 있으며 기능 변경도 가능하다.
- 양식의 모듈화 : 웹사이트 전체에 문서의 양식을 통일감 있게 사용할 수 있다.
- 간편성 : 문서의 형식을 쉽고 다양하게 구성할 수 있다.
단점
CSS는 브라우저 간 호환성 문제가 있다. CSS는 인터넷 익스플로러, 구글 크롬, 애플 사파리, 모질라 파이어폭스 등 각 브라우저별로 서로 조금씩 다른 방식으로 스타일 시트를 지원하기 때문에 통일성이 유지되기 어려운 단점이 있다.
각주
- ↑ 네이버 지식백과 홈페이지 - https://terms.naver.com/entry.nhn?docId=1179641&cid=40942&categoryId=32854
- ↑ [CSS 1] CSS 특징 및 적용방법 :: - https://hihellen.tistory.com/16
- ↑ [CSS 1] CSS 특징 및 적용방법 :: - https://hihellen.tistory.com/16
참고자료
- 네이버 지식백과 홈페이지 - https://terms.naver.com/entry.nhn?docId=1179641&cid=40942&categoryId=32854
- [CSS 1] CSS 특징 및 적용방법 :: - https://hihellen.tistory.com/16
같이 보기