div {
color: red; /*color: 속성, red: 값, 들여쓰기*/
margin: 20px; /*margin: 속성, 20px: 값, 들여쓰기*/
}
<style>
div {
color: red;
margin: 20px;
}
</style>
<link rel="stylesheet" href="./css/main.css">
/* main.css */
div {
color: red;
margin: 20px;
}
<div style="color: red; margin: 20px;"></div>
<link rel="stylesheet" href="./css/main.css">
/*main.css*/
@import url("./box.css");
div {
color: red;
margin: 20px;
}
<!--box.css-->
.box {
background-color: red;
padding: 20px;
}
<div>
<ul>
<li>사과</li>
<li>딸기</li>
<li id="orange" class="orange">오렌지</li>
</ul>
<div>당근</div>
<p>토마토</p>
<span class="orange">오렌지</span>
</div>
/* main.css */
<style>
* {
color: red;
}
</style>
/*적용 대상 : 모든 코드*/
li {
color: red;
}
/*적용 대상 :
<li>사과</li>
<li>딸기</li>
<li id="orange" class="orange">오렌지*/
.orange {
color: red;
}
/* 적용 대상
<li id="orange" class="orange">오렌지</li>
<span class="orange">오렌지</span>
*/
#orange {
color: red;
}
/*적용 대상
<li id="orange" class="orange">오렌지</li>
*/
<div>
<ul>
<li>사과</li>
<li>딸기</li>
<li id="orange" class="orange">오렌지</li>
<li>망고</li>
<li>사과</li>
</ul>
<div>당근</div>
<p>토마토</p>
<span class="orange">오렌지</span>
</div>
<span class="orange">오렌지</span>
span.orange {
color: red;
}
/*
적용 대상
<span class="orange">오렌지</span>
<div>
<span class="orange">오렌지</span>
*/
ul > .orange {
color: red;
}
/*
적용 대상
<li id="orange" class="orange">오렌지</li>
*/
<style>
div .orange {
color: red;
}
/* 적용 대상
<li id="orange" class="orange">오렌지</li>
<span class="orange">오렌지</span>
<div> 밖에 있는 <span class="orange">오렌지</span>는 적용 대상이 아니다!
*/
.orange + li {
color: red;
}
/*
적용 대상
<li>망고</li>
*/
.orange ~ li {
color: red;
}
/*
적용 대상
<li>망고</li>
<li>사과</li>
*/
우리가 어떠한 행동을 했을 때 동작하는 개념, ":" 를 사용한다.
<div class="box"></div>
.box {
width: 100px;
height: 100px;
background-color: orange;
transition: 1s;
}
.box:hover {
width: 300px;
background-color: royalblue;
}
<a href="https://www.naver.com">NAVER</a>
a:hover {
color: red;
}
<a href="https://www.naver.com">NAVER</a>
a:active {
color: red;
}
<div class="box" tabindex="-1"></div>
<input type="text" />
input:focus {
background-color: orange;
}
.box:focus {
width: 300px;
background-color: royalblue;
}
<div class="fruits">
<span>딸기</span>
<span>수박</span>
<div>오렌지</div>
<p>망고</p>
<h3>사과</h3>
</div>
.fruits span:first-child {
color: red;
}
/*
적용 대상
<span>딸기</span>
*/
<div class="fruits">
<span>딸기</span>
<span>수박</span>
<div>오렌지</div>
<p>망고</p>
<h3>사과</h3>
</div>
.fruits h3:last-child {
color: red;
}
/*
적용 대상
<h3>사과</h3>
*/
<div class="fruits">
<span>딸기</span>
<span>수박</span>
<div>오렌지</div>
<p>망고</p>
<h3>사과</h3>
</div>
<!-- 1. 숫자-->
.fruits *:nth-child(2) {
color: red;
}
</*
적용 대상
<span>수박</span>
/*------------------*/
/* 2. 배수*/
.fruits *:nth-child(2n) {
color: red;
}
/*
적용 대상
<span>수박</span>
<p>망고</p>
*/
/*-------------------------*/
/* 3. 홀수*/
.fruits *:nth-child(2n+1) {
color: red;
}
/*
적용 대상
<span>딸기</span>
<div>오렌지</div>
<h3>사과</h3>
*/
<div class="fruits">
<span>딸기</span>
<span>수박</span>
<div>오렌지</div>
<p>망고</p>
<h3>사과</h3>
</div>
.fruits *:not(span) {
color: red;
}
/*
적용 대상
<div>오렌지</div>
<p>망고</p>
<h3>사과</h3>
*/
<div class="box">
Content!
</div>
가상의 요소를 만들어서 삽입을 할 수 있다., "::" 를 사용한다.
.box::before {
content: "앞!";
}
/*
결과
앞! Content!
*/
.box::after {
content: "뒤!";
}
/*
결과
Content! 뒤!
*/
<input type="text" value="HEROPY">
<input type="password" value="1234">
<input type="text" value="ABCD" disabled>
[disabled] {
color: red;
}
/*
적용 대상
<input type="text" value="ABCD" disabled>
*/
[type] {
color: red;
}
/*
적용 대상
<input type="text" value="HEROPY">
<input type="password" value="1234">
<input type="text" value="ABCD" disabled>
*/
[type="password"] {
color: red;
}
/*
적용 대상
<input type="password" value="1234">
*/
<div class="ecosystem">생태계
<div class="animal">동물
<div class="tiger">호랑이</div>
<div class="lion">사자</div>
<div class="elephant">코끼리</div>
</div>
<div class="plant">식물</div>
</div>
.animal {
color: red;
}
/*
동물
호랑이 -- 상속
사자 -- 상속
코끼리 -- 상속
*/
- font-style : 글자 기울기
- font-weight : 글자 두께
- font-size : 글자 크기
- line-height : 줄 높이
- font-family : 폰트(서체)
- color : 글자 색상
- text-align : 정렬
<div class="parent">
<div class="child"></div>
</div>
.parent {
width: 300px;
height: 200px;
background-color: red;
}
.child {
width: 100px;
height: inherit;
background-color: orange;
}
우선순위란, 같은 요소가 여러 선언의 대상이 된 경우, 어떤 선언의 CSS 속성을 우선 적용할지 결정하는 방법이다.
!important : 무한대
인라인 : 1000점(쓸데없이 점수가 높으므로 사용하지 말것)
(#)id 선택자 : 100점
(.)class 선택자 : 10점
tag 선택자 : 1점
★ 선언이 여러개가 됐을 경우 모든 점수를 합산하여 계산하면 된다.