h1 { color: yellow; font-size: 2em; }
h1
color: yellow;
와 font-size: 2em;
이며 마지막 선언에는 ;
를 붙이지 않아도 됨{ color: yellow; font-size: 2em; }
/* 내용 */
, 여러 줄로도 작성 가능 <div style="..."></div>
<head>
태그 내에 <style>
태그를 선언, 선택자 O <style>...</style>
<link>
태그를 통해(<head>
태그 내에 선언) 불러와 스타일을 적용 <link rel="stylesheet" href="css/style.css">
@import url("css/style.css");
h1, h2, h3 { color: yellow; }
* { color: yellow; }
, 사용을 가급적 지양: HTML의 글로벌 속성인 class 속성을 활용
<p class="foo bar">...</p>
.
기호를 사용한다. .foo { font-size: 30px; text-decoration: underline; }
.bar { color: blue; }
/* 이와 같이 하면 html 코드에 두 class의 스타일이 다 적용됨 */
: class 선택자와 유사한 방식으로 사용
<p id="bar">...</p>
#bar { background-color: yellow; }
/* 요소+class */ p.foo {...}
/* 다중 class */ .foo.bar {...}
/* id+class */ #foo.bar {...}
p[class] { color: silver; }
p[class][id] { font-size: 20px; }
p[class="foo"] { color: yellow; }
p[id="title"] { text-decoration: underline; }
[class~="bar"]
: class 속성의 값이 공백으로 구분한 "bar" 단어가 포함되는 요소 선택[class^="bar"]
: class 속성의 값이 "bar"로 시작하는 요소 선택[class$="bar"]
: class 속성의 값이 "bar"로 끝나는 요소 선택[class*="bar"]
: class 속성의 값이 "bar" 문자가 포함되는 요소 선택<div>
의 자손 요소인 <span>
요소를 선택하는 선택자이다. div span { color: red; }
>
기호를 넣는다. 다음 예시는 <div>
의 자식 요소인 <h1>
요소를 선택하는 선택자이다. div > h1 { color: red; }
+
기호를 넣는다. 다음 예시는 <div>
의 형제 요소인 <p>
요소를 선택하는 선택자이다. div + p { color: red; }
body > div table + ul { ... }
:
기호를 사용하여 나타낸다. :pseudo-class { property: value; }
:first-child
: 첫 번째 자식 요소 선택:last-child
: 마지막 자식 요소 선택 li:fitst-child {...}
li:last-child {...}
:link
: 하이퍼링크(앵커 내에 href
속성이 있는 것)이면서 아직 방문하지 않은 앵커:visited
: 이미 방문한 하이퍼링크 a:link { color: blue; }
a:visited { color: gray; }
:focus
: 현재 입력 초점을 가진 요소에 적용:hover
: 마우스 커서가 있는 요소에 적용:active
: 사용자 입력으로 활성화된 요소에 적용(순간적, ex 클릭) a:focus { background-color: yellow; }
a:hover { font-weight: bold; }
a:active { color: red; }
::
기호를 사용한다.::before
: 가장 앞에 요소를 삽입 (content
속성을 사용해 내용 입력)::after
: 가장 뒤에 요소를 삽입 (content
속성을 사용해 내용 입력)::first-line
: 요소의 첫 번째 줄에 있는 텍스트를 감싸는 요소 생성::first-letter
: 블록 레벨 요소의 첫 번째 문자를 감싸는 요소 생성 p::before { content: "###" }
p::after { content: "!!!" }
p::first-line { ... }
p::first-letter { ... }
0, 0, 0, 0
0, 1, 0, 0 : 선택자에 있는 모든 id 속성값
0, 0, 1, 0 : 선택자에 있는 모든 class 속성값, 기타 속성, 가상 클래스
0, 0, 0, 1 : 선택자에 있는 모든 요소, 가상 요소
조합자는 구체성에 영향을 주지 않는다. (>, + 등)
전체 선택자는 0, 0, 0, 0을 가진다.
1, 0, 0, 0
으로 규칙들 중 가장 큰 구체성을 갖는다. p#page { color: red !important; }