< CSS의 구성 >
< HTML에 CSS 적용 >
link style
css 파일을 따로 만들어 head 태그 안에 링크로 연결하는 방법
relation의 약자 rel 로 현재 html 파일과 무슨 관계에 있는 파일인지 명시
href는 우리가 link로 걸 css파일의 주소
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
h1{
color: red;
}
</style>
</head>
<body>
<h1>안녕?</h1>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
</head>
<body>
<h1 style="color : red;">안녕?</h1>
</body>
</html>
< 선택자 >
< 단순 선택자 >
타입 선택자 (Type Selector)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
h1{
p{ color: red; }
h2{ color: blue; }
}
</style>
</head>
<body>
<h1>안녕?</h1>
<p>이것은 첫 번째 단락입니다</p>
<h2>뭐해?</h2>
<p>이것은 두 번째 단락입니다</p>
<h2>hi!</h2>
</body>
</html>
아이디 선택자 (Id Selector)
아이디 이름으로 스타일을 적용한다
모든 요소들은 각자의 id를 설정할 수 있고 이는 고유값이므로 HTML 문서내에는 동일한 id가 존재할 수 없다
아이디 선택자를 사용해 스타일을 지정할 때는 #과 id를 붙여 써주면 된다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
h1{
p{ color: red; }
h2{ color: blue; }
#hi{background-color: aqua;}
}
</style>
</head>
<body>
<h1>안녕?</h1>
<p>이것은 첫 번째 단락입니다</p>
<h2 id="hi">뭐해?</h2>
<p>이것은 두 번째 단락입니다</p>
<h2>hi!</h2>
</body>
</html>
클래스 선택자 (Class Selector)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
h1{
p{ color: red; }
h2{ color: blue; }
.hello{font-size: 12px;}
}
</style>
</head>
<body>
<h1>안녕?</h1>
<p>이것은 첫 번째 단락입니다</p>
<h2>뭐해?</h2>
<p>이것은 두 번째 단락입니다</p>
<h2 class="hello">hi!</h2>
</body>
</html>
전체 선택자 (Universal Selector)
모든 요소에 스타일을 적용한다
전체 선택자를 사용해 스타일을 지정할 때는 *을 사용하여 모든 요소들을 선택한다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
*{ background-color: white; }
</style>
</head>
<body>
<h1>안녕?</h1>
<p>이것은 첫 번째 단락입니다</p>
<h2>뭐해?</h2>
<p>이것은 두 번째 단락입니다</p>
<h2>hi!</h2>
</body>
</html>
속성 선택자 (Universal Selector)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
#link[target="_blank"]{color: "red";}
</style>
</head>
<body>
<h1>링크</h1>
<a href="https://www.google.com" target="_self">구글 현재창</a>
<a href="https://www.google.com" target="_self">구글 현재창</a>
<a href="https://www.google.com" target="_blank" id="link">구글 현재창</a>
<a href="https://www.google.com" target="_self">구글 현재창</a>
</body>
</html>
< 복합 선택자 >
두개 이상의 선택자가 모여 의미를 이루는 선택자
자식 선택자
선택자 A의 모든 자식중 선택자 B와 일치하는 요소를 선택, 자식 선택자는 복합 선택자 이므로 선택자를 두 개 사용하며 중간에 꺽쇠(>)를 써준다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
article > p {color: red;}
</style>
</head>
<body>
<article>
<div>자식1
<p>후손1</p>
</div>
<div>자식2
<p>후손2</p>
</div>
<p>자식3</p>
</article>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
article p {color: red;}
</style>
</head>
<body>
<article>
<div>자식1
<p>후손1</p>
</div>
<div>자식2
<p>후손2</p>
</div>
<p>자식3</p>
</article>
</body>
</html>
< pseudo 클래스 선택자 >
EX) a 태그를 통한 예제
:link : 방문 하지 않은 링크는 파란색이며, 방문시 자주색으로 바뀜
:visited : 방문한 링크를 지정하여 스타일을 지정한다
:hover : 마우스 커서를 올렸을 때 스타일을 지정한다
이 외에도 여러가지 예제가 있다
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>안녕하세요</title>
<style>
a:link { color: yellow; }
a:visited { color: red; }
a:hover { color: blue; }
</style>
</head>
<body>
<a href="https://www.google.com">구글</a>
</body>
</html>
< 숫자값 >
px : CSS에서 절대적인 크기를 나타내는 단위, 디스플레이를 구성하는 단위로 기기마다 다르다
em/rem : CSS에서 상대적인 크기를 나타내는 단위
퍼센트(%) : 상대길이를 지정하는 하나의 방법, 보통 이미지의 레이아웃이나 너비, 높이를 지정할 때 쓰임
< 색상 >
< font-family >
< 웹 폰트 사용하기 >
구글폰트(https://fonts.google.com/)에 접속하여 원하는 폰트를 선택
우측상단의 +버튼 클릭
▶ STANDARD 방식
→ HTML에 CSS파일을 연결해주는 방식과 같이 태그를 사용하여 폰트를 가져온다
<link href="https://fonts.googleapis.com/css?family=Cute+Font" rel="stylesheet">
▶ @IMPORT 방식
→ CSS 파일에
@import url('https://fonts.googleapis.com/css?family=Cute+Font');
</style>
< font-style >
< font-weight >
< text-align >
< line-height >
< letter-spacing >
< text-indent >
< Box Model >
< box sizing >
< display >
각 요소가 보여지는 방식을 지정하는 속성
속성값으로 크게 block 과 inline이 올 수 있다
block과 inline의 가장 큰 차이는 각 요소가 가지는 영역이다
display : block
display : inline
display : inline-block
display : none
< position >
속성값으로 static, relative, absolute, fixed가 있다
default값은 static이다
position : static
position : relative
position : absolute
- relative 처럼 좌표 property로 위치를 조정할 수 있다
- 기준은 자기 자신이 아닌 relative, absolute, fixed가 선언된 부모태그나 조상태그를 기준으로 좌표 property가 적용된다
position : fixed
- 보이는 화면을 기준으로 좌표 property를 이용하여 위치를 고정시킨다
< z-index >
< flex-box >
flex container
flex item
flex-box의 핵심 : 정렬
가로방향 / 세로방향
요소들을 띄엄띄엄 일정한 간격으로 배치하기도 하고, 요소들로 화면을 꽉 채워 배치하기도 한다
부모 요소(flex-container)에서 사용 가능한 속성
< justify-content >
< align-items >
< align-content >
< flex-grow >
< flex-shrink >
< flex-basis >
< 상속 >
< 우선순위 >
Cascading은 CSS에서 적용되는 우선순위를 의미한다
중요도