CSS란 책 만들기의 색연필 역할!

CSS란 웹문서의 색 변경, 레이아웃 크기, 테두리, 글씨크기 등을 변경하는 디자인 기술입니다. Cascading Style Sheets의 약자입니다. cascade는 폭포라는 뜻인데, CSS는 마치 레이어 층처럼 단계적으로 문법이 적용되기 때문입니다.

CSS 탄생 배경

HTML 단독 사용의 문제점

HTML 문서의 개발로 웹문서의 영역이 발달했습니다. 오프라인의 문서처럼 온라인 문서에도 디자인적 욕구가 등장합니다.

문제는 HTML에 <font size>와 같은 디자인 태그를 만들자, 작성과 수정에서 비효율성이 폭발적으로 증가하게 됩니다.

예를 들어 글씨 크기를 키우는 <font size> 태그를 사용하면 각 문장마다 이렇게 태그를 삽입해야 합니다.

<h1>HTML 디자인 태그의 단점</h1>
  <ul>
    <li><font size="1px">같은 코드를 많이 사용</font></li>
    <li><font size="1px">대량 작성시 수동 작업</font></li>
    <li><font size="1px">대량 수정시 작업량이 증가</font></li>
  </ul>

만약 운영하는 어플리케이션이나 사이트의 규모가 커서 문서의 개수가 수 만개라면, 글씨 크기를 모두 적는데 엄청난 시간이 걸립니다. 거기다 수정을 하는데도 상당한 시간이 걸립니다.

그래서 네스케이프, 마이크로소프트 등의 인터넷 연합은 w3c라는 단체를 만들고, CSS라는 디자인 문법을 따로 분리해냅니다.

대신 html에 있던 디자인 태그들은 대부분 삭제해버립니다.

디자인 요소를 css로 따로 추출하면서, html을 작성하는 코더들은 편집과 작업 시간에 효율성이 증가했습니다.

뿐만 아니라, 웹문서를 검색하는 검색엔진들도 html의 정보 요소에 좀 더 집중을 하면서 문서의 검색 분류의 질이 증가하는데 기여했습니다.

HTML 서적에 CSS가 같이 있는 이유

CSS는 원래 HTML에서 사용되던 기능이 분리된 것입니다. 그리고 정보와 디자인이란 개념적으로 따로 분리시켰고 컴퓨터가 좋아하는 분류기준입니다.

인간은 정보를 습득할 때 디자인적 요소도 자연스럽게 종합적으로 인식합니다. 그래서 HTML서적은 대부분 CSS를 같이 배우게끔 설정되있습니다.

CSS 디자인 분리의 장점

삽입 코드 개수의 감소

CSS는 html문서의 <head> 태그의 <style> 태그 사이에 위치합니다. 그리고 대량으로 명령이 가능해서, 색 변경, 글씨 크기 변경 등의 명령을 실행할 때 한 번만 명령을 해도 모든 하위 태그를 변경할 수 있습니다.

10개의 <li> 태그의 색을 삽입하는데 단 한 줄의 코드로 적용 할 수 있습니다. 단지 <head> 태그안에 앞으로 배우게 될 ol { color: blue; } 의 코드를 적용했을 뿐입니다.

<!DOCTYPE html>
<html>
  <head>
    <style>
      ol{color:blue;}
    </style>
  </head>
  <body>
    <ol>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      <li>CSS는 코드 개수가 적다.</li>
      </ol>
  </body>
</html>

이는 삽입되는 코드 개수를 줄여주고, 작성자에게 업무 효율성을 주고 사이트나 어플리케이션을 가볍게 만들어줍니다.

디자인 수정 효율성 증가

CSS는 디자인을 HTML에서 분리하면서 수정 측면에서 큰 기여를 했습니다. 수정해야할 태그 문장이 많아도 CSS를 사용하면 빠르게 실행할 수 있습니다.

<ul> 태그와 <ol> 태그의 글씨색 변경을 할 때에도 코드 두 줄이면 여섯 개의 태그를 변경할 수 있습니다. 태그 개수가 수억개여도 코드 두 줄에 작업할 수 있습니다.

<!DOCTYPE html>
<html>
  <head>
    <style>
      ol{color:blue;}
      ul{color:red;}
    </style>
  </head>
  <body>
    <ol>
      <li>CSS 수정 효율성</li>
      <li>CSS 수정 효율성</li>
      <li>CSS 수정 효율성</li>
    </ol>
    <ul>
      <li>CSS 수정 효율성</li>
      <li>CSS 수정 효율성</li>
      <li>CSS 수정 효율성</li>
    </ul>
  </body>
</html>

검색엔진 검색품질 증가

디자인 요소는 사실 인간에게만 필요합니다. 컴퓨터는 글씨의 크기와 색깔에 영향을 받지 않습니다. html과 css가 분리되면, 컴퓨터는 html의 구조적 데이터만 인식할 수 있습니다.

나머지 css요소는 <html> 태그 사이에 있지 않고, <head> 태그 사이에 위치하므로, 컴퓨터가 css 요소를 무시하는데 효율적입니다.

이런 정보와 디자인 요소의 분리는 컴퓨터 웹 문서의 검색 품질을 향상시키는데 큰 기여를 했습니다.

html-css-seperate

정보의 질로 따지면, HTML은 정보의 핵심이고, CSS 디자인은 정보의 파생물입니다. 컴퓨터가 정보의 핵심에만 집중하도록 도와줌으로써 수억개의 웹문서를 분류하는데 큰 도움을 줬습니다.

 

문제해결이 정확히 되지 않으신 경우 웹디자인, 웹퍼블리싱 등의 강좌를 들어보시는 것도 좀 더 근본적인 문제 해결에 도움이 될 수 있습니다.

 

웹디자인 강의 추천 5가지

1.디자인나스

http://www.designnas.com/

디자인나스는 웹디자인 학원중에서 가장 유명한 양성소중의 한 곳입니다.  HTML 및 CSS, JavaScript, 포토샵 등을 배우시는 목적이 웹디자인쪽이신 경우 적합한 강좌입니다.

웹디자인 강의 1

UI, UX 디자인, 대기업 공채 특성화반의 웹디자인 중심 강의가 주력이며 HTML, CSS, JavaScript, jQuery 등의 웹퍼블리싱 강좌도 있습니다.

5 ~ 6명 이하의 소수로 강좌가 이루어져서 1:1 개인 마크에 의한 포트폴리오 관리에 유용하고 그만큼 수강료가 가격이 있는 편입니다.

 

2.홍시디자인학원

http://www.hongsidesign.com/

홍시디자인 학원은 2005년에 설립된 디자인학원에서 유명한 아카데미입니다.

웹디자인 강의 2

웹과 모바일 디자인, UI/UX 디자인 관련 커리큘럼이 있고 포토샵이나 일러스트레이터 같은 순수 디자인 툴도 강좌로 준비하며 실업자 등의 국비지원 정부 지원 과정도 보유하고 있습니다.

웹디자인 쪽을 강화로 하고 계시다면 적합한 강좌입니다.

 

3.그린컴퓨터아카데미

https://greenart.co.kr/

그린컴퓨터아카데미는 대형 컴퓨터 전문 학원입니다. 전국에 지점이 많아 오프라인에서 본인의 소속 지역에서 쉽게 강의를 들을 수 있다는 것이 장점입니다.

웹디자인 강의 3

순수 웹디자인 이외에도 웹퍼블리싱이나 기타 컴퓨터 프로그래밍 강좌도 단과 형식으로 커리큘럼이 다양하다는 것이 특징입니다.

 

4.더조은컴퓨터아카데미

http://tjoeun.co.kr/

더조은컴퓨터아카데미는 2016년 메가스터디 그룹에 인수된 컴퓨터 교육 전문 아카데미입니다.

웹디자인 강의 4

웹디자인 강좌부터, 웹퍼블리싱이나 프론트앤드 개발자 등의 연계 강좌로도 다양한 단과 강좌가 있습니다.

좀 더 디자인 강의에 집중하고 싶다면 CG, VFX나 모션그래픽, 에프터이팩트, 게임 그래픽(유니티, 마야) 등의 강좌 연계도 가능합니다.

 

5.메가스터디 컴퓨터아카데미

메가스터디 컴퓨터아카데미는 웹디자인 정규과정과 단과과정으로 나눠서 커리큘럼을 운영하고 있습니다.

웹디자인 강좌 5

정구 교육과정에서는 실무 취업을 목표로 12명 이하의 소수정예로 강좌가 구성되며 웹디자인 이외에 그래픽 편집디자인, 모션 그래픽(2D, 3D), 3D 에니메이션, 인테리어디자인, 웹툰 디자인, 게임 원화가, 게임 그래픽 디자인, 순수 제품 디자인 등의 다양한 디자인 강좌 프로그램을 갖추고 있습니다.

 

웹퍼블리싱 강의 추천 9가지

1.생활코딩

https://opentutorials.org/

생활코딩은 비영리 무료 코딩 교육 강좌입니다. 유튜브를 중심으로 무료 강좌가 있습니다.

웹퍼블리싱 강의 001

HTML, CSS, JavaScript의 기초 웹퍼블리싱 강좌가 코딩을 전혀 몰라도 학습할 수 있도록 학습난이도가 낮고, 한 강좌가 짧아서 듣기에 부담이 적습니다.

그 밖에 파이썬, 자바, MySQL, PHP, 머신러닝 기초 등 백앤드 프로그래밍 강좌도 무료로 제공된다는 것이 장점입니다.

 

2.인프런

https://www.inflearn.com/

인프런은 프로그래밍 유료 강좌 종합 플랫폼입니다. 웹퍼블리싱을 위한 반응형 웹사이트 만들기, CSS 그리드 레이아웃, 자바스크립트 연계 등 웹퍼블리싱 강좌가 단과형식으로 배치되어 있습니다.

웹퍼블리싱 강의 002

또한 종합 프로그래밍 강좌 사이트이기 때문에 프론트앤드 개발, 백앤드 개발, 리액트, 노드 JS 등 원하는 방향으로의 강좌도 연계해서 볼 수 있다는 장점이 있습니다.

 

3.노마드코더

https://nomadcoders.co/courses

노마드 코더는 콜롬비아 출신 개발자 니콜라스가 운영하는 코딩 교육 아카데미입니다.

웹퍼블리싱 3

클론 코딩(HTML, CSS), 바닐라 자바스크립트, CSS 레이아웃, FLEXBOX, SCSS, 그리드 등의 웹퍼블리싱 강좌를 실제 서비스를 클론 코딩으로 따라서 만들어보는 방식으로 구현되는 강좌입니다.

그 밖에 리액트, 암호화폐만들기, 인스타그램 클론 코딩하기, 유튜브 클론 코딩하기, 우버와 에어비앤디 클론코딩하기, 파이썬으로 웹 스크리퍼 만들기 등 확장되는 언어 학습도 실생활의 서비스와 연계된다는 점에서 재미있게 배울 수 있다는 것이 특징입니다.

약간의 HTML, CSS, JS 기초 지식을 알고 계시고, 실전 서비스의 벤치마킹을 통해서 좀 더 동기부여를 학습에 투여하고 싶으신분에게 적합한 웹퍼블리싱 강좌입니다.

 

6.W3Schools

https://www.w3schools.com/Html/

W3Schools는 노르웨이 Refsnes Date 소프트웨어 회사에서 1998년에 만든 온라인 코딩 교육 사이트입니다.

웹퍼블리싱 강좌 006

HTML, CSS부터 JavaScript의 웹퍼블리싱 등의 방대한 메뉴얼이 있고, 각 페이지마다 별다른 코드 에디터필요없이 홈페이지에서 바로 예제를 풀어볼 수 있다는 것이 특징입니다.

CSS 그라디언트, 색상, 모서리, 3D , 툴팁, 버튼 등 다양한 예제를 보유하고 있습니다.

 

7.Dev ED

https://www.youtube.com/channel/UClb90NQQcskPUGDIXsQEz5Q

Dev ED는 무료 유튜브 강좌 및 유료 홈페이지 강좌를 판매하고 있는 웹퍼블리싱 강좌 서비스입니다.

유튜브에서는 움직이는 CSS 및 자바스크립트 강좌 등이 예제와 함께 공개되어 있어 따라하기에 편리합니다. 특히나 JS와 CSS를 이용한 움직이는 에니메이션 효과를 잘 가르칩니다.

해당 개발자의 홈페이지에서는 HTML, CSS 강좌 등도 유료로 판매하고 있습니다.

https://developedbyed.com/p/the-creative-html5-css3-course

 

8.The Net Ninja

https://www.youtube.com/c/TheNetNinja/playlists

Net Ninja는 웹퍼블리싱을 비롯한 프론트앤드 개발자용 유튜브 강좌입니다.

웹퍼블리싱 강좌 007

CSS FLEX, 그리드, 반능형웹디자인, CSS 포지션, SASS 등의 웹퍼블리싱 집중 강좌부터 자바스크립트, 앵귤러, 노드 JS, 리액트, 부트스트랩, VUE, 타입스크립트 등 프론트앤드용 강좌도 분류가 잘되어 배치되어 있습니다.

 

9.CODER CODER

https://www.youtube.com/c/TheCoderCoder/featured

CODER CODER는 생활코딩, 노마드코더와 말투와 강의 방식이 정말 비슷한 코더용 강좌입니다.

웹퍼블리싱 인강 12

강좌수는 많지 않지만 CSS 등의 웹퍼블리싱 작업을 할 때 헷갈리기 쉬운 반응형 웹, 포지션, 레이아웃, Z-index, 미디어쿼리, 칼럼 나누기, 백그라운드 이미지 투명하게, 에니메이션 메뉴 만들기, 모바일 반능형, 그리드, SASS, Gulp, Flexbox 등을 예제와 함께 볼 수 있습니다.

영어의 경우 영어 자막을 켜고 배속을 0.75배 ~ 0.5배로 낮추면 좀 더 편하게 들어보실 수 있습니다.