CSS(Cascading Style Sheets)는 HTML이나 XML로 작성된 문서의 표현을 기술하기 위해 쓰이는 스타일시트 언어이다. CSS는 요소가 화면, 종이, 음성이나 다른 매체 상에 어떻게 렌더링되어야 하는지 기술한다.
CSS는 오픈 웹의 핵심 언어 중 하나이며, W3C 명세에 따라 브라우저끼리 표준을 맞춘다. 레벨 단위로 개발한 CSS1은 더 이상 사용하지 않고, 다음 레벨인 CSS2.1은 권고안이며, 레벨보다 작은 단위인 모듈로 나뉜 CSS3는 표준화 과정을 밟고 있다.
<!-- -->
는 호환되지 않는 브라우저에서 CSS코드를 숨기는 용도로 사용한다.외부 CSS 파일을 가져오는 방법은 여러가지가 있다.
link
요소를 이용해 가져오기<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
import
를 이용해 가져오기@import
CSS 선언을 이용하여 다음 위치에 외부 CSS 파일을 포함한다.<head>
태그<head>
<style type="text/css">
@import url(style.css);
</style>
</head>
<head>
<style type="text/css">
.logo {
color: red;
}
</style>
</head>
<body>
태그 내 요소들에 인라인 스타일을 지정한다.<body>
<p style="height: 100px; color: blue;">abc</p>
</body>
CSS 규칙은 선택자(selector)와 선언부(declaration)으로 나뉜다. 선언부는 다시 속성(property)와 속성값(value)로 나뉜다.
출처: http://www.w3schools.com/css/css_syntax.asp
선택자는 보통 스타일링 하고 싶은 HTML 요소나 부여한 ID 혹은 class가 위치한다.
선언부에 여러개의 속성과 속성값이 있을때는 ;
으로 구분한다.
각각의 선언은 속성과 속성값을 :
으로 구분한다.
!important 👉 인라인 스타일 👉 아이디 선택자 👉 클래스/속성/가상 선택자 👉 태그 선택자 👉 전체 선택자
경쟁 규칙이 같은 선택자 그룹에 속해 있다면 선택자의 종류와 수에 따라 우선순위가 결정된다. 즉, 높은 우선순위의 선택자를 더 많이 사용한 규칙이 이긴다.
<head>
요소 안의 style 요소<style>
요소 안의 @import
문<link>
요소로 연결된 CSS 파일<link>
요소로 연결된 CSS 파일 안의 @import
문❗️예외적으로, 최종 사용자가 연결한 CSS 파일 안의 !important
규칙은 우선순위 1위다. 최종 사용자는 !important
규칙을 작성해서 웹사이트 디자이너가 만든 CSS 파일의 규칙을 무효화 할 수 있다.
여러 CSS 파일이 같은 우선순위 위치에서 연결되고 삽입되어 있을 때는 연결/삽입 순서에 따라 우선순위가 결정된다. 가장 마지막에 연결/삽입된 스타일시트가 앞의 스타일시트보다 우선순위가 높다.