의견.png

CSS

위키원
ab9405 (토론 | 기여)님의 2019년 7월 22일 (월) 18:00 판
이동: 둘러보기, 검색

CSS는 Cascading Style Sheets의 약자로서, 웹 문서의 색상, 폰트, 레이아웃 등을 표현하기 위해 사용하는 스타일 시트 언어이다. 씨에스에스라고 읽는다. 종속형 시트 또는 캐스케이딩 스타일 시트라고도 한다. 1996년 CSS1, 1998년 CSS2, 2005년 CSS3가 발표되었다.

개요

CSS는 웹 페이지의 모양과 느낌을 처리한다. CSS는 텍스트 색상, 글꼴 스타일, 문단 간격, 열 크기 및 배치 방법, 사용되는 배경 이미지 또는 색상, 레이아웃 설계 등 여러 가지를 제어할 수 있다. CSS는 배우기 쉽고 이해하기 쉬우면서도 HTML 문서를 강력하게 제어할 수 있다. 보통 일반적으로 HTMLXHTML에서 주로 쓰인다.

등장배경

웹페이지를 아름답게 디자인하는 방법은 두 가지가 있다 쉬운 것은 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는 인터넷 익스플로러, 구글 크롬, 애플 사파리, 모질라 파이어폭스 등 각 브라우저별로 서로 조금씩 다른 방식으로 스타일 시트를 지원하기 때문에 통일성이 유지되기 어려운 단점이 있다.

문제점과 대안

@import 규칙으로 불러들인 CSS 파일은 그 갯수 만큼 서버에서 요청이 늘어남으로써 로딩 속도에 상당한 악영향을 미치고 @import 규칙은 병렬방식이 아닌 직렬 방식으로 다운로드하기 때문에 전체 로딩시 그 만큼의 로딩 시간도 길어지는 문제점이 있다. 심지어, 인터넷 익스플로러에서는 다운로드 순서가 다르게 작동하는 문제가 발생하기도 한다. 다시 말해서, 각 역할에 따라 분리한 CSS 파일을 웹 문서에서 적용할 때는 @import 규칙으로 호출하면 안되고, HTML 문서 내에 <link> 태그 요소를 사용하여 호출하는 방법을 권장한다. [4]

평가와 전망

각주

  1. 네이버 지식백과 홈페이지 - https://terms.naver.com/entry.nhn?docId=1179641&cid=40942&categoryId=32854
  2. [CSS 1] CSS 특징 및 적용방법 :: - https://hihellen.tistory.com/16
  3. [CSS 1] CSS 특징 및 적용방법 :: - https://hihellen.tistory.com/16
  4. 야물딱진 주리부리 라잎 : 네이버 블로그 - https://gmlthd0908.blog.me/221316306915

참고자료

같이 보기


  의견.png 이 CSS 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.