✍
h1 { color: yellow; font-size:2em; }
h1 { color: yellow;
font-size:2em;
}
선택자(selector) - "h1"
속성(property) - "color"
값(value) - "yellow"
선언(declaration) - "color: yellow", "font-size: 2em"
선언부(declaration block) - "{ color: yellow; font-size:2em; }"
규칙(rule set) - "h1 { color: yellow; font-size:2em; }"
✍
/* 주석 내용_여러줄도 가능 */
👉해당 요소에 직접 스타일 속성을 이용해서 규칙들을 선언하는 방법
✍<div style="color:red;"> 내용 </div>
👉head내부에 style 태그를 활용한 방법
✍<style> div {color: red;} </style>
👉외부 스타일 시트 파일을 이용한 방법
css 파일을 하나 만들고 스타일 규칙을
✍div {color: red;} 이렇게 선언하고
<head> 내부에 <link>를 선언한 후 href 속성을 이용해 CSS 파일의 경로를 적음
✍<link rel="stylesheet" href="css/style.css">
👉스타일 시트 내에서 다른 스타일 시트 파일을 불러오는 방식
css 파일을 하나 만들고 스타일 규칙을
✍@import url("css/style.css");
✍
h1 { color: yellow; }
h2 { color: yellow; }
h3 { color: yellow; }
👉선택자는 쉼표를 이용해서 그룹화 가능
✍
h1, h2, h3 { color: yellow; }
👉선언들도 그룹화가 가능
✍
h1 { color: yellow; font-size: 2em; background-color: gray; }
👉전체 선택자
✍
* { color: yellow; }
👉원하는 태그에 class 이름을 적어주고
✍
<p class="class_name"> ... </p>
👉클래스 선택자를 쓸 때는, 맨 앞에 .(마침표)를 찍어줌
✍
.class_name { font-size: 30px; }
👉class 속성은 2게 이상의 값을 가질 수 있음
👉공백으로 구분
✍
<p class="class_name1 class_name2"> ... </p>
✍
.class_name1 { font-size: 30px; }
.class_name2 { color: blue; }
👉원하는 태그에 id 이름을 적어주고
✍
<p id="id_name"> ... </p>
👉id 선택자를 쓸 때는, 맨 앞에 #(해시)를 찍어주면 됩니다.
✍
#id_name { background-color: yellow; }
👉id 속성값은 문서 내에 유일하게 사용이 되어야 함
✍
/* 요소와 class의 조합 */
p.class_name { ... }
/* 다중 class */
.class_name1.class_name2 { ... }
/* id와 class의 조합 */
#id_name.class_name { ... }
✍
p[class] { color: silver; }
👉<p>이면서 class 속성이 있는 요소
✍
p[class][id] { text-decoration: underline; }
👉<p>이면서 class 속성과 id 속성이 함께 있어야 됨
✍코드
/* 1, 2, 3번째 요소 */
<style>p[class] { color: silver; }</style>
/* 3번째 요소 */
<style>p[class][id] { text-decoration: underline; }</style>
<p class="foo">Hello</p>
<p class="bar">CSS</p>
<p class="baz" id="title">HTML</p>
✍결과
Hello
HTML
✍
p[class="class_name"] { color: silver; }
👉 <p>이면서 class 속성의 값이 class_name이면 적용
✍
p[id="id_name"] { text-decoration: underline; }
👉<p> 이면서 id 속성의 값이 id_name이면 적용
✍코드
/* 1번째 요소 */
<style>p[class="class_name"] { color: silver; }</style>
/* 2번째 요소 */
<style>p[id="id_name"] { text-decoration: underline; }</style>
<p class="class_name">Hello</p>
<p class="class_name1">CSS</p>
<p id="title">HTML</p>
✍결과
Hello
HTML
[class~="bar"] : class 속성의 값이 공백으로 구분한 "bar" 단어가 포함되는 요소 선택
[class^="bar"] : class 속성의 값이 "bar"로 시작하는 요소 선택
[class$="bar"] : class 속성의 값이 "bar"로 끝나는 요소 선택
[class*="bar"] : class 속성의 값이 "bar" 문자가 포함되는 요소 선택
✍코드
/* 1, 2번째 요소 */
<style>p[class~="color"] { font-style: italic; }</style>
/* 1, 3번째 요소 */
<style>p[class^="color"] { font-style: italic; }</style>
/* 2번째 요소 */
<style>p[class$="color"] { font-style: italic; }</style>
/* 1, 2, 3번째 요소 */
<style>p[class*="color"] { font-style: italic; }</style>
<p class="color hot">red</p>
<p class="cool color">blue</p>
<p class="colorful nature">rainbow</p>
✍결과
1, 2번째 요소
red
blue
rainbow
1, 3번째 요소
red
blue
rainbow
2번째 요소
red
blue
rainbow
1, 2, 3번째 요소
red
blue
rainbow
✍html 예시
<html>
<body>
<div>
<h1><span>HTML</span>: Hyper Text Markup Language</h1>
</div>
<p>HTML과 CSS와 JAVASCRIPT를 이용해서 멋진 웹 사이트를 제작할 수 있습니다.</p>
</body>
</html>
부모와 자식
👉부모 요소는 그 요소를 포함하는 가장 가까운 상위 요소로, 그 요소의 부모 요소는 단 하나뿐입니다.
👉자식 요소는 부모 요소와 반대라고 생각하면 되며 자식 요소는 여러 개일 수도 있습니다.
위 html에서 예를 들면
<body>의 부모 요소: <html> ↔ <html>의 자식 요소: <body>
<div>의 부모 요소: <body> ↔ <body>의 자식 요소: <div>, <p>
조상과 자손
👉조상 요소는 그 요소를 포함하는 모든 요소로, 부모 요소를 포함하여 여러 개일 수도 있습니다.
👉자손 요소는 그 반대로, 그 요소가 포함하고 있는 모든 요소가 자손 요소입니다.
위 html에서 예를 들면
<body>의 조상 요소: <html> ↔ <html>의 자손 요소: <body>, <div>, <h1>, <span>, <p>
<div>의 조상 요소: <html>, <body> ↔ <body>의 자손 요소: <div>, <h1>, <span>, <p>
<h1>의 조상 요소: <html>, <body>, <div> ↔ <div>의 자손 요소: <h1>, <span>
위 html에서 예를 들면
코드에서는 <div>, <p>가 형제 요소
-<div>의 자손 요소인 <span>를 선택하는 선택자
div span { color: red; }
자식 선택자
👉자식 선택자는 선택자 사이에 닫는 꺽쇠 기호(>)를 넣습니다.
👉공백은 있거나 없어도 상관이 없습니다.
-<div>의 자식 요소인 <h1>를 선택하는 선택자
div > h1 { color: red; }
인접 형제 선택자
👉인접 형제 선택자는 선택자 사이에 + 기호를 넣습니다.
👉공백은 있거나 없어도 상관이 없습니다.
인접 형제 선택자는 형제 관계이면서 바로 뒤에 인접해 있는 요소를 선택하는 선택자
div + p { color: red; }