기본 소스와 결과

소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
        div{
            width: 100px;
            height: 100px;
        }
        div:nth-child(1){
            background-color: lightpink;
        }
        div:nth-child(2){
            background-color: lightgreen;
        }
        div:nth-child(3){
            background-color: lightgray;
        }
        div:nth-child(4){
            background-color: lightyellow;
        }
        div:nth-child(5){
            background-color: lightblue;
        }
    </style>
</head>
<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
</body>
</html>
cs

결과


1. 숨김기능

소스

* display: none;  공간도 제거되며 숨겨주는 기능

* visibility: hidden; 공간은 존재하며 숨겨주는 기능

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
        div{
            width: 100px;
            height: 100px;
        }
        div:nth-child(1){
            background-color: lightpink;
        }
        div:nth-child(2){
            background-color: lightgreen;
            display: none;    /*존재가 사라짐. 공간도 제거*/
        }
        div:nth-child(3){
            background-color: lightgray;
        }
        div:nth-child(4){
            background-color: lightyellow;
            visibility: hidden;    /*숨김. 공간은 남음*/
        }
        div:nth-child(5){
            background-color: lightblue;
        
    </style>
</head>
<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
</body>
</html>
cs

2번의 공간이 제거됨을 볼수있다.

4번은 공간은 존재하지만 숫자4와 배경색이 보이지않는다.

결과


2. 선택지시자 (+와 ~의 차이)

소스1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
        div{
            width: 100px;
            height: 100px;
        }
        div:nth-child(1){
            background-color: lightpink;
        }
        div:nth-child(2){
            background-color: lightgreen;
        }
        div:nth-child(3){
            background-color: lightgray;
        }
        div:nth-child(4){
            background-color: lightyellow;
        }
        div:nth-child(5){
            background-color: lightblue;
        }
        div:nth-child(2)+div{
            background-color: lightgreen;
        }
        /*div:nth-child(1)+div~div{
            background-color: lightgray;
        }*/  
    </style>
</head>
<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
</body>
</html>
cs

nth-child(2) 는 2번의 위치를 말하는것이고

+div 는 다음 div 를 말하는것으로 결과적으로는 3번의 위치를 말한다.

        div:nth-child(2)+div{
            background-color: lightgreen;
        }

결과1


소스2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
        div{
            width: 100px;
            height: 100px;
        }
        div:nth-child(1){
            background-color: lightpink;
        }
        div:nth-child(2){
            background-color: lightgreen;
        }
        div:nth-child(3){
            background-color: lightgray;
        }
        div:nth-child(4){
            background-color: lightyellow;
        }
        div:nth-child(5){
            background-color: lightblue;
        }
        div:nth-child(2)+div{
            background-color: lightgreen;
        }
        div:nth-child(1)+div~div{
            background-color: lightgray;
        }
    </style>
</head>
<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
</body>
</html>
cs

nth-child(1) 는 1번의 위치를 말하는것이고

+div 는 다음 div 를 말하는것으로 2번의 위치이다. ~div란 뜻은 2번의 위치(해당위치)의 모든 자식을 뜻해서 결과적으로는 3,4,5번까지 모두 해당된다.

        div:nth-child(1)+div~div{
            background-color: lightgray;
        }

결과2

위의 기능을 덮어써 오버라이드 되었다.


+ Recent posts