:는 ~은 이라는 뜻이다.
;은 ~이다 라는 뜻이다.
그래서 속성은 값이다. 라고 해석이 된다.
작성할때는
div {
font-size: 100px;
color: red;
}
라는 방식으로 작성해야한다.
/* 설명작성 */
주석시작과 끝에 다음과 같이해서 작성을 해야한다.
<style></style> 의 내용으로 스타일을 작성하는 방식
즉 다음과 같이 작성한다.
<style>
div {
font-size: 100px;
color: red;
}
</style>
요소의 style 속성에 직접 스타일을 작성하는 방식
<div style="colr: red; margin:20px"><div>
에서
<link rel="stylesheet" href="./css/main.css">
로 다른 main css 연결가능하다.
여기에서 위 사진에서 css 와 연결한 이후에 그 css에서 또 연결 가능하다.
css의 @import 규칙으로 css 문서 안에서 또다른 css 무너를 가져와 연결하는 방식이 있다.
여기에서
@import url("./box.css");
을 통해 밑에 있는 css 연결 가능하다.
*
모든 요소를 선택
ABC
태그 이름이 ABC 인것을 선택
.ABC
태그 이름이 Class 속성의 값이 ABC인 요소 선택
#ABC
HTML id 속성의 값이 ABC인 요소 선택
선택자 ABC와XYZ를 동시에 만족하는 요소 선택
선택자 ABC의 자식 요소 XYZ 를 선택
선택자 ABC 의 하위 요소 XYZ 선택
'뛰어쓰기'가 선택자의 기호
선택자 ABC의 다음 형제 요소 XYZ 하나를 선택
선택자 ABC의 다음 형제 요소 XYZ 모두를 선택
선택자 abc 요소에 마우스 커서가 올라가 있는 동안 선택
.box {
width: 100px;
height: 100px;
background-color: orange;
transition: 1s;
}
.box:hover {
width: 300px;
background-color: royalblue;
}
오렌지에서 올리면 파랑색으로 길어짐
선택자 ABC 요소에 마우스를 클릭하고 있는 동안 선택
.box {
width: 100px;
height: 100px;
background-color: orange;
transition: 1s;
}
.box:active {
width: 300px;
background-color: royalblue;
}
마우스 누르고있는 동안 파란색 됌
tabindex:"-1"을 작성 하면
box 와 input focus 가 모두 가능하다. 그래서 삽입하는 부분과 박스 모두 포커스 될때 색이 변화 된다. tab index 는 input 에는 기입해서는 안된다.
선택자 ABC가 형제 요소중 첫째 라면 선택
선택자가 ABC 형제 요소중 마지막 이라면 선택
선택자 ABC가 형제 요소중 (n)째라면 선택
선택자가 xyz가 아닌 ABC 요소 선택
선택자 ABC요소의 내부 앞에 내용을 삽입
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/main.css">
</head>
<body>
<div class="box">HEROPY! </div>
</body>
</html>
.box {
width: 100px;
height: 100px;
background-color: orange;
}
.box::before {
content: "before";
}
before 과 after 은 content 라고 작성해야함.
선택자 ABC요소의 내부 뒤에 내용을 삽입
.box {
width: 100px;
height: 100px;
background-color: orange;
}
.box::after {
content: "after";
}
.box {
width: 100px;
height: 100px;
background-color: orange;
}
.box::after {
content: "";
display: block;
width:30px;
height:30px;
background-color: royalblue;
}
인라인요소는 가로세로 가질수없음
인라인에서 블록요소 변환하기 위해서 다음과 같이 작성한다.
display: block를 하게 되면
화면에 파란 내모가 생기게 된다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/main.css">
</head>
<body>
<input type="text" />
<input type="password" />
<span data-fruit-name="apple">사과</span>
</body>
</html>
[type="password"] {
background-color: orange;
}
[data-fruit-name] {
color: red;
}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/main.css">
</head>
<body>
<div class="parent">
<div class="child"></div>
</div>
</body>
</html>
div 부모 안에 div 자식 있음
.parent {
width: 300px;
height: 200px;
background-color: red;
}
.child {
width: 100px;
height: 200px;
background-color: orange;
}
다음과 같은 창이 등장한다.
.parent {
width: 300px;
height: 200px;
background-color: red;
}
.child {
width: 100px;
height: inherit;
background-color: orange;
}
과 같이 하게 되면 inherit 이라고 입력 되며 상속이 가능하다
.parent {
width: 300px;
height: 200px;
background-color: red;
}
.child {
width: 100px;
height: inherit;
background-color: orange;
position: fixed;
top:100px;
right:10px;
}
하게되면 다음과 같이 표현된다.
inherit 이라는것은 parent의 크기가 그대로 상속이 되는 것이다.
우선순위란, 같은 요소가 여러 선언에 대상이 된 경우, 어떤 선언의 css 속성을 우선 적용할지 결정하는 방법.
1. 점수가 높은 선언이 우선함!
2. 점수가 같으면, 가장 마지막에 해석된 선언이 우선함
!important
: 중요도 무한
#color_yelow
= id 선택자 : 100점
.color_green
= class선택자: 10점
div
= 태그선택자: 1점
*
= 전체선택자 : 0점
body
= 상속 안됌 : 계산 안함
ex)
ex)
div {
font-size: 70px;
}
#hello {
color: blue;
}
.hello {
color:red;
}
라고 하면 hello world! 가 파란색이다.
ex)
div {
font-size: 70px;
}
.hello {
color:blue;
}
.hello {
color:red;
}
라고 하면 hello world!가 빨강으로 보인다.
점수가 같은것이면 나중에 작성한것의 색으로 표시가 된다.
div {
font-size: 70px;
}
div.hello {
color:green;
}
.hello {
color: red;
}
라고 작성하게된다면 위는 11점 아래는 10점으로 초록색으로 색이 나타나게 됨
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/main.css">
</head>
<body>
<div id="hello" class="hello" style="color: orange;">HELLO WORLD!</div>
</body>
</html>
라고 하게 div 안에 인라인으로 작성하면 style을 작성해서 1000점이 되게 된다 .
div {
font-size: 70px;
}
div.hello {
color:green;
}
.hello {
color: red !important;
}
3-1. 전체선택자 :0점
*
모든 요소를 선택
3-2. 태그선택자 : 1점
ABC
태그 이름이 ABC 인것을 선택
3-3. 클래스선택자 : 10점
.ABC
태그 이름이 Class 속성의 값이 ABC인 요소 선택
3-4. 아이디 선택자 : 100점
#ABC
HTML id 속성의 값이 ABC인 요소 선택