210505
css는 html 요소의 style을 정의하는데 사용된다. 이를 위해선 스타일을 적용하고자 하는 html 요소를 선택할 수 있어야 한다.
셀렉터 - 스타일을 적용하고자 하는 html요소를 선택하기위해 css에서 제공하는 수단
-- Rule Set(또는 Rule) --
셀렉터에 의해 선택된 특정 html요소를 어떻게 렌더링할 것인지 브라우저에 지시하는 역할
이와 같은 Rule Set의 집합을 스타일시트(Style Sheet)라 한다.
셀렉터로 html 요소를 선택하고 {} 내에 프로퍼티와 값을 지정하는 것으로 다양한 style을 정의할 수 있다. 여러 개의 프로퍼티를 엲속해서 지정할 수 있으며 세미콜론으로 구분
p {
color: ...;
font-size: ...;
}
프로퍼티의 값은 해당 프로퍼티에 사용할 수 잇는 값을 "키워드"나 "크기 단위"또는 "색상 표현 단위"등의 특정 단위로 지정하여야 한다.
p {
color: orange;
font-size: 16px;
}
css를 가지고 있지 않는 HTML은 브라우저에서 기본으로 적용하는 CSS(user agent stylesheet)에 의해 렌더링된다.
html에서 외부에 있는 css 파일을 로드하는 방식. 가장 일반적
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>Hello World</h1>
<p>This is a web page.</p>
</body>
</html>
h1 { color: red; }
p { background: blue; }
'css'라는 폴더에서 'style.css'파일을 연결
html 내부에 css를 포함시키는 방식. 매우 간단한 웹페이지를 제외하곤 Link style을 사용하는 편이 좋다.
<!DOCTYPE html>
<html>
<head>
<style>
h1 { color: red; }
p { background: aqua; }
</style>
</head>
<body>
<h1>Hello World</h1>
<p>This is a web page.</p>
</body>
</html>
html요소의 style 프로퍼티에 css를 기술하는 방식. JavaScript가 동적으로 css를 생성할 때 사용하는 경우가 있음. 일반적인 경우 Link style을 사용하는 편이 좋다.
<!DOCTYPE html>
<html>
<body>
<h1 style="color: red">Hello World</h1>
<p style="background: aqua">This is a web page.</p>
</body>
</html>
모든 웹 브라우저는 디폴트 스타일이 있어 CSS가 없어도 작동한다. 하지만 웹브라우저에 따라 디폴트 스타일이 상이하고 지원하는 tag나 style도 제각각이라 주의 필요
Rest CSS는 기본적인 html요소의 css를 초기화하는 용도로 사용한다. -> 브라우저 별로 다른 디폴트 스타일을 하나의 스타일로 통일시켜주는 역할
자주 사용되는 Reset CSS
Eric Meyer's reset
normalize.css
Eric Meyer's reset css
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
멋있어요 ㅎㅎ