정리 기준
1. 평소에 사용하면서도 애매하게 알고 있었던 것
2. 있다는 건 알고 있지만 평소에 잘 사용하지 않아 이번 기회에 다시 한번 짚고 가는 것
selector { property: value }
h1 {
color: yellow
}
<div style="color:red;"> 내용 </div>
<style> div {color: red;} </style>
<link rel="stylesheet" href="css/style.css">
@import url("css/style2.css");
h1 { color: yellow; }
css 파일
.foo { font-size: 30px; }
html 파일
<p class="foo"> ... </p>
css 파일
#bar { background-color: yellow; }
html 파일
<p id="bar"> ... </p>
/* 요소와 class의 조합 */
p.bar { ... }
/* 다중 class */
.foo.bar { ... }
/* id와 class의 조합 */
#foo.bar { ... }
css 파일
p 태그 중 class나 Id속성을 가지고 있는 요소
p[class] { color: silver; }
p[class][id] { text-decoration: underline; }
p 태그 중 class가 'foo'인 요소, Id가 'title'인 요소
p[class="foo"] { color: silver; }
p[id="title"] { text-decoration: underline; }
html 파일
<p class="foo">Hello</p>
<p class="bar">CSS</p>
<p class="baz" id="title">HTML</p>
[class~="bar"] : class 속성의 값이 공백으로 구분한 "bar" 단어가 포함되는 요소 선택
[class^="bar"] : class 속성의 값이 "bar"로 시작하는 요소 선택
[class$="bar"] : class 속성의 값이 "bar"로 끝나는 요소 선택
[class*="bar"] : class 속성의 값이 "bar" 문자가 포함되는 요소 선택
css 파일
p[class~="color"] { font-style: italic; } /* 1, 2번째 요소 */
p[class^="color"] { font-style: italic; } /* 1, 3번째 요소 */
p[class$="color"] { font-style: italic; } /* 2번째 요소 */
p[class*="color"] { font-style: italic; } /* 1, 2, 3번째 요소 */
html 파일
<p class="color hot">red</p>
<p class="cool color">blue</p>
<p class="colorful nature">rainbow</p>
/* <div>의 자손 요소인 <span>를 선택하는 선택자 */
div span { color: red; }
자식 선택자: 선택자 사이에 꺽쇠 기호(>)로 구분함
/* <div>의 자식 요소인 <span>를 선택하는 선택자 */
div > h1 { color: red; }
인접 형제 선택자: 선택자 사이에 + 기호로 구분함
div + p { color: red; }
/* body 요소의 자식인 div 요소의 자손인 table 요소 바로 뒤에 인접한 ul 요소 선택 */
body > div table + ul { ... }
미리 정의해놓은 상황에 적용되도록 약속된 보이지 않는 클래스
:first-child : 첫 번째 자식 요소 선택
:last-child : 마지막 자식 요소 선택
:link : 하이퍼 링크이면서 아직 방문하지 않은 앵커
:visited : 이미 방문한 하이퍼링크를 의미
:focus: 현재 입력 초점을 가진 요소에 적용
:hover: 마우스 포인터가 있는 요소에 적용
:before : 가장 앞에 요소를 삽입
:after : 가장 뒤에 요소를 삽입
:first-line : 요소의 첫 번째 줄에 있는 텍스트
:first-letter : 블록 레벨 요소의 첫 번째 문자
%: 부모의 값에 대해서 백분율로 환산한 크기
em: font-size를 기준으로 값을 환산, 소수점 3자리까지 표현 가능
rem: root의 font-size를 기준으로 값을 환산
vw: viewport의 width값을 기준으로 1%의 값으로 계산
컬러 키워드: ex) yellow, red
16 진법
background: [-color] [-image] [-repeat] [-attachment] [-position];
em: 폰트의 전체 높이
ex(=x-height): 해당 폰트의 영문 소문자 x의 높이
Baseline: 소문자 x를 기준으로 하단의 라인
Descender: 소문자에서 baseline 아래로 쳐지는 영역, 서체에 따라 descender의 길이가 다름(g,j,p,q,y)
Ascender: 소문자 x의 상단 라인 위로 넘어가는 영역(b,d,h,l)
@font-face: 웹에 있는 글꼴을 사용자의 로컬 환경(컴퓨터)으로 다운로드하여 적용하는 속성
@font-face {
font-family: webNanumGothic; /* 사용자 지정 웹 폰트명 */
src: url(NanumGothic.eot); /* 적용 될 웹 폰트의 경로 */
font-weight: bold; /* 필요에 따라 지정 */
font-style: italic; /* 필요에 따라 지정 */
}
white-space: 요소 안에 공백을 어떻게 처리할지 지정하는 속성
요소를 floating 된 요소의 영향에서 벗어나게 하는 속성
The W3C Markup Validation Service
미디어 타입
@media screen { ... }
@media screen and (min-width: 768px) { ... }
@media (min-width: 768px) and (max-width: 1024px) { ... }
@media (color-index)
: 미디어 장치가 color-index를 지원하면 적용
@media screen and (min-width: 768px), screen and (orientation: portrait), ...
: 쉼표로 연결된 미디어 쿼리 중 하나라도 참이면 적용(and 키워드와 반대)
설정 시, head 태그 안에 meta 태그 사용
<meta name="viewport" content="width=device-width, initial-scale=1.0">