Chap1 CSS
CSS
- CSS(선택자)
- 구조화된 HTML을 만들기 위한 언어
- HTML문서에 CSS를 적용하는 방법은 내부 스타일 시트, 외부 스타일 시트, 인라인 스타일 시트 3가지 종류가 존재
- 내부 스타일 시트 : 문서의 표현을 위한 명령들을 head 태그 안에 style 지정
- 외부 스타일 시트 : 문서의 표현을 따로 CSS파일로 저장
- 인라인 스타일 시트 : 태그 안에 직접 스타일을 하는 방식
- Selector(선택자)
-
CSS로 UI를 디자인할 때 “어디에 어떻게 꾸며줄까?” 에서 “어디”에 해당하는 부분
- HTML과 CSS
- 내부, 외부, 인라인 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 내부 스타일 -->
<style>
h1{
font-size: 50px;
font-style: italic;
}
div, span{
font-size: 20px;
font-style: italic;
}
p {
font-size : 20px;
}
</style>
<!-- 외부 스타일 -->
<!-- 링크를 걸어서 css와 연동 -->
<!-- <link rel="stylesheet" href="/Java_Web/Front_end/CSS/1_BasicCSS/Chap1_index.html"> 절대경로-->
<link rel="stylesheet" href="main.css">
<!-- 외부 파일인 main.css에서 지정한 스타일을 가져와서 적용됨 -->
</head>
<body>
<h1>친구들 모여라 언제나 즐거운 뽀로뽀로뽀로뽀로 뽀로로~</h1>
<div>Hello!</div>
<!-- 인라인 스타일 (권장하지 않음) -->
<span style="color: blue;">스폰지밥</span>
<p>KODAK</p>
</body>
</html>
- CSS
- css파일을 생성하여 외부에서 스타일을 import 할 수 있음
@import "side.css";
/* 2개 이상의 css소스를 가져와서 사용하고 싶을때 @import 사용하여 가져올 수 있음 */
/* index.html에서 main을 불러왔고 main에서는 side를 @import를 통해서 불러옴 */
h1, p{
color: red;
background : orange;
}
/* h1과 p에 대해서 스타일을 지정해줌 */
/* 링크를 지정해야 연결이 됨 */
Selector
- Total Selector
- 자주 사용하지 않음
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Total selector</title>
<!-- 전체 선택자(내부스타일)
*을 통해서 전체 태그에 대해 스타일을 지정할 수 있음
즉, 전체 문서에 대해서 스타일을 한꺼번에 지정하기 위해 사용-->
<style>
*{
font-size: 50px;
font-weight: bold;
color: blue;
}
div *{
font-size: 30px;
color : steelblue;
font-style: italic;
}
/* div안에 있는 모든 것에 대한 스타일 */
/* div 당근은 div안(자손)에 있는 것이 아니라서 변하지 않음 */
</style>
</head>
<body>
<h1>졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div>
<ul>
<li>사과</li>
<li>오렌지</li>
<li>딸기</li>
</ul>
</div>
<div>당근</div>
<p>토마토</p>
<span>오렌지</span>
</body>
</html>
- Tag Selector
-
동일한 모든 태그에 다 적용되어서 많이 사용되지 않음
-
태그이름{}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TagSelector</title>
<!-- 태그 선택자
태그를 지정해서 스타일을 지정하는 것 -->
<style>
h1 {
background-color: aqua;
font-size: 50px;
}
li {
color : green;
}
</style>
</head>
<body>
<h1>졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div>
<ul>
<li>사과</li>
<li>오렌지</li>
<li>딸기</li>
</ul>
</div>
<div>당근</div>
<p>토마토</p>
<span>오렌지</span>
</body>
</html>
- Class Selector
-
class는 1개 이상 중복으로 가능함으로 많이 사용
-
.클래스이름{}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Class Selector</title>
<style>
.red-color{
font-size: 30px;
color : red;
}
.blue-color{
color : blue;
}
.green-color{
color:green;
font-size : 25px
}
</style>
<!-- 클래스를 지목하는 기호는 "." 으로 작성 -->
</head>
<body>
<h1 class="blue-color">졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div class="green-color">
<ul>
<li>사과</li>
<li>오렌지</li>
<li class="red-color">딸기</li>
</ul>
</div>
<div>당근</div>
<p class="red-color">토마토</p>
<span>오렌지</span>
<!-- class는 어떤 태그에 들어가도 상관없고 여러개 사용해도 괜찮음
즉 특정 태그에 동일한 스타일을 지정하기 위해 사용 -->
</body>
</html>
- Id Selector
-
id를 지목하여 스타일을 지정해주는 것
-
id는 고유하기 때문에 하나만 가능
-
#id이름{}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#orange{
font-size: 30px;
color:orange;
}
#blue{
font-size:20px;
color : blue;
}
</style>
<!-- id를 지목하는 방법은 # -->
</head>
<body>
<h1>졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div>
<ul id = "blue">
<li>사과</li>
<li id = "orange">오렌지</li>
<li>딸기</li>
</ul>
</div>
<!-- id는 고유하기 때문에 하나의 태그에서만 사용가능 -->
<div>당근</div>
<p>토마토</p>
<span>오렌지</span>
</body>
</html>
- Basic Combinator(일치 선택자)
-
선택자가 2개 이상이며 모든 조건이 일치해야만 스타일을 적용할 수 있는 선택자
-
태그이름.클래스이름 {}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>일치선택자</title>
<style>
span.orange{
font-size: 1.2em;
color : orange;
}
</style>
<!-- span과 orange 두개의 선택자가 있고 span.orange는 span의 class가 orange인 것에 대해서만 스타일 적용 -->
</head>
<body>
<h1>졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div>
<ul>
<li>사과</li>
<li class="orange">오렌지</li>
<li>딸기</li>
</ul>
</div>
<div>당근</div>
<p>토마토</p>
<span class="orange">오렌지</span>
</body>
</html>
- Child Combinator(자식 선택자)
-
태그 내부에 있는 요소를 선택하여 디자인 적용하고 싶을 때 사용
-
태그이름 > 자식태그의 클래스이름 | 태그이름 > 자식 태그이름
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul >.orange{
color: orange;
}
div > ul > li {
font-weight: bold;
}
/* div 안에 있는 ul의 안에도 있는 li에 대해서 굵은 글씨체로 바꿔라 */
div > ul > li > ol{
color : yellowgreen;
}
/* 1,2,3번째 글에 대해서만 색을 바꾸는 것 */
li>ol{
color : yellowgreen;
}
/* 이것도 가능 */
div > h1{
font-size: 13px;
}
/* 메롱메롱을 나타내는 h1의 크기만 줄여줌 */
</style>
<!-- ul태그 안에 있는 것 중 class가 .orange인것들만 디자인 적용
ul >.orange는 ul태그 바로 밑에 있어야하고 더 안쪽에 있으면 안됨
즉, >가 있으면 바로 직속에 있는 것을 뜻함. -->
</head>
<body>
<h1>졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div>
<h1>메롱메롱</h1>
<ul>
<li>사과
<ol>
<li>1번째</li>
<li>2번째</li>
<li>3번째</li>
</ol>
</li>
<li class="orange">오렌지</li>
<li>딸기
<ol>
<li>1번째</li>
<li>2번째</li>
<li>3번째</li>
</ol>
</li>
</ul>
</div>
<div>당근</div>
<p>토마토</p>
<span class="orange">오렌지</span>
</body>
</html>
-
부모와 자식 태그에 대해서 경로를 세부적으로 적용하여 특정 값만 스타일을 적용
- Descendant Combinator(후손 선택자)
-
특정 태그 안에 있는 모든 후손에서 특정 조건을 만족하는 것들만 스타일을 적용할 수 있음
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>후손선택자</title>
<style>
div .red-color{
color : red;
font-size: 30px;
}
/* div 안에 있는 모든 자손 중 클래스 이름이 red-color인 값만 스타일을 바꿔라 */
/* 클래스 이름이 같은것 중 특정 값만 딸기만 색이 바뀌는 것을 확인 */
p.red-color{
color : fuchsia;
font-size : 20px;
}
</style>
</head>
<body>
<h1 class="blue-color">졸리다 졸려~</h1>
<!-- div>ul>li*3 -->
<div class="green-color">
<ul>
<li>사과</li>
<li>오렌지</li>
<li class="red-color">딸기</li>
</ul>
</div>
<div>당근</div>
<p class="red-color">토마토</p>
<span>오렌지</span>
</body>
</html>
- Adjacent Sibling Combinator(인접 형제 선택자)
- +를 통해서 인접 형제 선택을 할 수 있음
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.grape + li {
color : violet;
}
li + li {
font-size: 24px;
}
</style>
</head>
<body>
<ul>
<li>사과</li>
<li>수박</li>
<li class="grape">포도</li>
<li>참외</li>
<li>딸기</li>
</ul>
</body>
</html>
- General Sibling Combinator(일반 형제 선택자)
- Tag ~ Tag
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.grape ~ li {
color:aqua;
}
/* class이름이 grape인 것 이후의 모든 li에 대한 적용, 참외와 딸기가 모두 색깔이 바뀐 것을 확인 */
</style>
</head>
<body>
<ul>
<li>사과</li>
<li>수박</li>
<li class="grape">포도</li>
<li>참외</li>
<li>딸기</li>
</ul>
</body>
</html>
- Attribute Selectors(속성 선택자)
-
태그의 속성을 이용하여 특정 대상에 대해 스타일 지정 가능
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
font-size: 39px;
}
input[disabled] {
opacity: 0.2;
}
/* input tag에 disable가 있는 것은 투명도를 0.2로 지정 */
input[type=password]{
width: 100px;
color:red;
}
/* 이렇게 input태그의 속성을 통해서 스타일 변경 가능 */
button[class^="btn-"]{
font-weight:bold;
border-radius: 20px;
}
/* class^="btn-" : button태그에서 class이름이 "btn-"으로 시작한다면 ~ 스타일 변경 */
button[class$="success"]{
background: green;
}
/* class$="success" : button태그에서 class 이름이 "success"로 끝난다면 ~ 스타일 변경 */
</style>
</head>
<body>
<input type="text" value="Hello">
<input type="password" value="1234">
<input type="text" value="disable text" disabled>
<!-- disable : input tag를 사용 불가 하도록 만든 것 -->
<button class="btn-success">Success</button>
<button class="btn-danger">Danger</button>
</body>
</html>
Pseudo Selector
- CSS(가상선택자)
- hover, active, focus
- 마우스를 가져다 대거나 클릭했을 때 변화가 생기는 것
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a:hover{
/* hover : 가상의 요소, 아직은 일어나지 않았지만 사용자에 의해서 일어남 */
font-weight: bold;
font-size: 30px;
}
/* 사용자의 마우스가 a태그인 이동에 갖다대면 a:hover에서 지정한 것들이 실행됨 */
.box{
width: 100px;
height: 100px;
background: red;
}
.box:hover{
width: 200px;
transition: 3s;
}
/* div 태그의 box 클래스에 마우스를 갖다대면 가로 길이가 200px로 늘어나는데 늘어나는 시간이 3초 걸린다는 의미 */
.boc:active{
width:500px;
background : yellowgreen;
}
input{
width: 200px;
border : 1px solid gray;
padding : 5px 10px;
/* 상하좌우 여백 */
outline : none;
transition:0.6;
}
input:focus{
border-color: red;
width: 300px;
}
/* focus : 마우스로 클릭하거나 할때 변화 */
</style>
</head>
<body>
<a href="#">이동</a>
<!-- div.box : div 태그에 class가 box인것을 생성하는 명령어 -->
<div class="box"></div><br>
<input type="text">
</body>
</html>
- First-Last_child
- pseudo selector : 가짜 클래스 선택자
- 가짜 선택자를 통해서 특정 클래스 안의 자식들의 스타일을 바꿔줌
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.fruits >li:nth-child(4){
color : orange;
/* fruit 클래스 안에 자식 태그인 li의 4번째의 디자인을 바꿔라 */
}
.fruits >li:nth-child(even){
color : blue;
/* fruit 클래스 안에 자식 태그인 li의 짝수번째의 디자인들을 바꿔라 */
}
/* 디자인은 마지막으로 지정된 것을 기준으로 바뀜 그러므로 4번째는 오렌지색이였다가 파란색으로 변경 */
.fruits >li:nth-child(odd){
color : red;
/* fruit 클래스 안에 자식 태그인 li의 홀수번째의 디자인들을 바꿔라 */
}
.fruits >li:nth-child(3n+1){
font-size: 50px;
font-style: italic;
/* css는 n키워드 사용 시 0부터 들어감 */
}
/* 태그가 같아야 nth-child(순서) 적용가능 */
.food p:nth-child(1){
color:blue;
}
/* food 클래스의 첫번째 자식이 p인지 아닌지 찾기 때문에 p는 첫번째 자식이 아니기 때문에 바뀌지 않음 */
/* food의 첫번째 자식이 p가 아니기 때문에 지목해서 스타일을 매길 수 없음 */
.food p:nth-of-type(1){
color : blue;
}
/* food 클래스의 첫번째 p의 스타일을 바꾸기 위해서는 nth-of-type(순서)을 사용 */
/* 같은 종류의 요소 중 n번째 요소의 스타일을 바꾸고 싶을때 사용 */
/* 문제 : 3-1에 빨간색을 칠하라 */
.box-group div:nth-of-type(3) :nth-of-type(1){
color : red;
font-size: 50px;
}
</style>
</head>
<body>
<ul class="fruits">
<li>딸기</li>
<li>사과</li>
<li class="orange">오렌지</li>
<li>망고</li>
<li>수박</li>
<li>포도</li>
<li>참외</li>
<li>배</li>
</ul>
<hr>
<!-- 구분선 작성 -->
<div class="food">
<div>짜장면</div>
<p>볶음밥</p>
<p>탕수육</p>
<span>짬뽕</span>
</div>
<hr>
<!-- 문제 -->
<div class="box-group">
<div>1</div>
<div>2</div>
<div>3
<div>3-1</div>
<div>3-2</div>
<div>3-3</div>
</div>
</div>
</body>
</html>
Author And Source
이 문제에 관하여(Chap1 CSS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@sig6774/Chap1-CSS
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 구조화된 HTML을 만들기 위한 언어
- HTML문서에 CSS를 적용하는 방법은 내부 스타일 시트, 외부 스타일 시트, 인라인 스타일 시트 3가지 종류가 존재
- 내부 스타일 시트 : 문서의 표현을 위한 명령들을 head 태그 안에 style 지정
- 외부 스타일 시트 : 문서의 표현을 따로 CSS파일로 저장
- 인라인 스타일 시트 : 태그 안에 직접 스타일을 하는 방식
- Selector(선택자)
-
CSS로 UI를 디자인할 때 “어디에 어떻게 꾸며줄까?” 에서 “어디”에 해당하는 부분
-
- 내부, 외부, 인라인 선택자
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <!-- 내부 스타일 --> <style> h1{ font-size: 50px; font-style: italic; } div, span{ font-size: 20px; font-style: italic; } p { font-size : 20px; } </style> <!-- 외부 스타일 --> <!-- 링크를 걸어서 css와 연동 --> <!-- <link rel="stylesheet" href="/Java_Web/Front_end/CSS/1_BasicCSS/Chap1_index.html"> 절대경로--> <link rel="stylesheet" href="main.css"> <!-- 외부 파일인 main.css에서 지정한 스타일을 가져와서 적용됨 --> </head> <body> <h1>친구들 모여라 언제나 즐거운 뽀로뽀로뽀로뽀로 뽀로로~</h1> <div>Hello!</div> <!-- 인라인 스타일 (권장하지 않음) --> <span style="color: blue;">스폰지밥</span> <p>KODAK</p> </body> </html>
- css파일을 생성하여 외부에서 스타일을 import 할 수 있음
@import "side.css"; /* 2개 이상의 css소스를 가져와서 사용하고 싶을때 @import 사용하여 가져올 수 있음 */ /* index.html에서 main을 불러왔고 main에서는 side를 @import를 통해서 불러옴 */ h1, p{ color: red; background : orange; } /* h1과 p에 대해서 스타일을 지정해줌 */ /* 링크를 지정해야 연결이 됨 */
- 자주 사용하지 않음
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Total selector</title> <!-- 전체 선택자(내부스타일) *을 통해서 전체 태그에 대해 스타일을 지정할 수 있음 즉, 전체 문서에 대해서 스타일을 한꺼번에 지정하기 위해 사용--> <style> *{ font-size: 50px; font-weight: bold; color: blue; } div *{ font-size: 30px; color : steelblue; font-style: italic; } /* div안에 있는 모든 것에 대한 스타일 */ /* div 당근은 div안(자손)에 있는 것이 아니라서 변하지 않음 */ </style> </head> <body> <h1>졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div> <ul> <li>사과</li> <li>오렌지</li> <li>딸기</li> </ul> </div> <div>당근</div> <p>토마토</p> <span>오렌지</span> </body> </html>
-
동일한 모든 태그에 다 적용되어서 많이 사용되지 않음
-
태그이름{}
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TagSelector</title> <!-- 태그 선택자 태그를 지정해서 스타일을 지정하는 것 --> <style> h1 { background-color: aqua; font-size: 50px; } li { color : green; } </style> </head> <body> <h1>졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div> <ul> <li>사과</li> <li>오렌지</li> <li>딸기</li> </ul> </div> <div>당근</div> <p>토마토</p> <span>오렌지</span> </body> </html>
-
class는 1개 이상 중복으로 가능함으로 많이 사용
-
.클래스이름{}
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Class Selector</title> <style> .red-color{ font-size: 30px; color : red; } .blue-color{ color : blue; } .green-color{ color:green; font-size : 25px } </style> <!-- 클래스를 지목하는 기호는 "." 으로 작성 --> </head> <body> <h1 class="blue-color">졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div class="green-color"> <ul> <li>사과</li> <li>오렌지</li> <li class="red-color">딸기</li> </ul> </div> <div>당근</div> <p class="red-color">토마토</p> <span>오렌지</span> <!-- class는 어떤 태그에 들어가도 상관없고 여러개 사용해도 괜찮음 즉 특정 태그에 동일한 스타일을 지정하기 위해 사용 --> </body> </html>
-
id를 지목하여 스타일을 지정해주는 것
-
id는 고유하기 때문에 하나만 가능
-
#id이름{}
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> #orange{ font-size: 30px; color:orange; } #blue{ font-size:20px; color : blue; } </style> <!-- id를 지목하는 방법은 # --> </head> <body> <h1>졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div> <ul id = "blue"> <li>사과</li> <li id = "orange">오렌지</li> <li>딸기</li> </ul> </div> <!-- id는 고유하기 때문에 하나의 태그에서만 사용가능 --> <div>당근</div> <p>토마토</p> <span>오렌지</span> </body> </html>
-
선택자가 2개 이상이며 모든 조건이 일치해야만 스타일을 적용할 수 있는 선택자
-
태그이름.클래스이름 {}
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>일치선택자</title> <style> span.orange{ font-size: 1.2em; color : orange; } </style> <!-- span과 orange 두개의 선택자가 있고 span.orange는 span의 class가 orange인 것에 대해서만 스타일 적용 --> </head> <body> <h1>졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div> <ul> <li>사과</li> <li class="orange">오렌지</li> <li>딸기</li> </ul> </div> <div>당근</div> <p>토마토</p> <span class="orange">오렌지</span> </body> </html>
-
태그 내부에 있는 요소를 선택하여 디자인 적용하고 싶을 때 사용
-
태그이름 > 자식태그의 클래스이름 | 태그이름 > 자식 태그이름
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> ul >.orange{ color: orange; } div > ul > li { font-weight: bold; } /* div 안에 있는 ul의 안에도 있는 li에 대해서 굵은 글씨체로 바꿔라 */ div > ul > li > ol{ color : yellowgreen; } /* 1,2,3번째 글에 대해서만 색을 바꾸는 것 */ li>ol{ color : yellowgreen; } /* 이것도 가능 */ div > h1{ font-size: 13px; } /* 메롱메롱을 나타내는 h1의 크기만 줄여줌 */ </style> <!-- ul태그 안에 있는 것 중 class가 .orange인것들만 디자인 적용 ul >.orange는 ul태그 바로 밑에 있어야하고 더 안쪽에 있으면 안됨 즉, >가 있으면 바로 직속에 있는 것을 뜻함. --> </head> <body> <h1>졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div> <h1>메롱메롱</h1> <ul> <li>사과 <ol> <li>1번째</li> <li>2번째</li> <li>3번째</li> </ol> </li> <li class="orange">오렌지</li> <li>딸기 <ol> <li>1번째</li> <li>2번째</li> <li>3번째</li> </ol> </li> </ul> </div> <div>당근</div> <p>토마토</p> <span class="orange">오렌지</span> </body> </html>
-
부모와 자식 태그에 대해서 경로를 세부적으로 적용하여 특정 값만 스타일을 적용
-
특정 태그 안에 있는 모든 후손에서 특정 조건을 만족하는 것들만 스타일을 적용할 수 있음
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>후손선택자</title> <style> div .red-color{ color : red; font-size: 30px; } /* div 안에 있는 모든 자손 중 클래스 이름이 red-color인 값만 스타일을 바꿔라 */ /* 클래스 이름이 같은것 중 특정 값만 딸기만 색이 바뀌는 것을 확인 */ p.red-color{ color : fuchsia; font-size : 20px; } </style> </head> <body> <h1 class="blue-color">졸리다 졸려~</h1> <!-- div>ul>li*3 --> <div class="green-color"> <ul> <li>사과</li> <li>오렌지</li> <li class="red-color">딸기</li> </ul> </div> <div>당근</div> <p class="red-color">토마토</p> <span>오렌지</span> </body> </html>
- +를 통해서 인접 형제 선택을 할 수 있음
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .grape + li { color : violet; } li + li { font-size: 24px; } </style> </head> <body> <ul> <li>사과</li> <li>수박</li> <li class="grape">포도</li> <li>참외</li> <li>딸기</li> </ul> </body> </html>
- Tag ~ Tag
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .grape ~ li { color:aqua; } /* class이름이 grape인 것 이후의 모든 li에 대한 적용, 참외와 딸기가 모두 색깔이 바뀐 것을 확인 */ </style> </head> <body> <ul> <li>사과</li> <li>수박</li> <li class="grape">포도</li> <li>참외</li> <li>딸기</li> </ul> </body> </html>
-
태그의 속성을 이용하여 특정 대상에 대해 스타일 지정 가능
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ font-size: 39px; } input[disabled] { opacity: 0.2; } /* input tag에 disable가 있는 것은 투명도를 0.2로 지정 */ input[type=password]{ width: 100px; color:red; } /* 이렇게 input태그의 속성을 통해서 스타일 변경 가능 */ button[class^="btn-"]{ font-weight:bold; border-radius: 20px; } /* class^="btn-" : button태그에서 class이름이 "btn-"으로 시작한다면 ~ 스타일 변경 */ button[class$="success"]{ background: green; } /* class$="success" : button태그에서 class 이름이 "success"로 끝난다면 ~ 스타일 변경 */ </style> </head> <body> <input type="text" value="Hello"> <input type="password" value="1234"> <input type="text" value="disable text" disabled> <!-- disable : input tag를 사용 불가 하도록 만든 것 --> <button class="btn-success">Success</button> <button class="btn-danger">Danger</button> </body> </html>
- hover, active, focus
- 마우스를 가져다 대거나 클릭했을 때 변화가 생기는 것
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> a:hover{ /* hover : 가상의 요소, 아직은 일어나지 않았지만 사용자에 의해서 일어남 */ font-weight: bold; font-size: 30px; } /* 사용자의 마우스가 a태그인 이동에 갖다대면 a:hover에서 지정한 것들이 실행됨 */ .box{ width: 100px; height: 100px; background: red; } .box:hover{ width: 200px; transition: 3s; } /* div 태그의 box 클래스에 마우스를 갖다대면 가로 길이가 200px로 늘어나는데 늘어나는 시간이 3초 걸린다는 의미 */ .boc:active{ width:500px; background : yellowgreen; } input{ width: 200px; border : 1px solid gray; padding : 5px 10px; /* 상하좌우 여백 */ outline : none; transition:0.6; } input:focus{ border-color: red; width: 300px; } /* focus : 마우스로 클릭하거나 할때 변화 */ </style> </head> <body> <a href="#">이동</a> <!-- div.box : div 태그에 class가 box인것을 생성하는 명령어 --> <div class="box"></div><br> <input type="text"> </body> </html>
- pseudo selector : 가짜 클래스 선택자
- 가짜 선택자를 통해서 특정 클래스 안의 자식들의 스타일을 바꿔줌
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .fruits >li:nth-child(4){ color : orange; /* fruit 클래스 안에 자식 태그인 li의 4번째의 디자인을 바꿔라 */ } .fruits >li:nth-child(even){ color : blue; /* fruit 클래스 안에 자식 태그인 li의 짝수번째의 디자인들을 바꿔라 */ } /* 디자인은 마지막으로 지정된 것을 기준으로 바뀜 그러므로 4번째는 오렌지색이였다가 파란색으로 변경 */ .fruits >li:nth-child(odd){ color : red; /* fruit 클래스 안에 자식 태그인 li의 홀수번째의 디자인들을 바꿔라 */ } .fruits >li:nth-child(3n+1){ font-size: 50px; font-style: italic; /* css는 n키워드 사용 시 0부터 들어감 */ } /* 태그가 같아야 nth-child(순서) 적용가능 */ .food p:nth-child(1){ color:blue; } /* food 클래스의 첫번째 자식이 p인지 아닌지 찾기 때문에 p는 첫번째 자식이 아니기 때문에 바뀌지 않음 */ /* food의 첫번째 자식이 p가 아니기 때문에 지목해서 스타일을 매길 수 없음 */ .food p:nth-of-type(1){ color : blue; } /* food 클래스의 첫번째 p의 스타일을 바꾸기 위해서는 nth-of-type(순서)을 사용 */ /* 같은 종류의 요소 중 n번째 요소의 스타일을 바꾸고 싶을때 사용 */ /* 문제 : 3-1에 빨간색을 칠하라 */ .box-group div:nth-of-type(3) :nth-of-type(1){ color : red; font-size: 50px; } </style> </head> <body> <ul class="fruits"> <li>딸기</li> <li>사과</li> <li class="orange">오렌지</li> <li>망고</li> <li>수박</li> <li>포도</li> <li>참외</li> <li>배</li> </ul> <hr> <!-- 구분선 작성 --> <div class="food"> <div>짜장면</div> <p>볶음밥</p> <p>탕수육</p> <span>짬뽕</span> </div> <hr> <!-- 문제 --> <div class="box-group"> <div>1</div> <div>2</div> <div>3 <div>3-1</div> <div>3-2</div> <div>3-3</div> </div> </div> </body> </html>
Author And Source
이 문제에 관하여(Chap1 CSS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sig6774/Chap1-CSS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)