[CSS] overflow 속성 알아보기

Overflow 속성


- 부모태그 영역을 벗어날 만큼 자식이 많으면 부모를 빠져나감

- 대부분의 사이트는 일정한 비율 혹은 공간(px)을 차지하게 되는데 이를 넘기는 경우 제어가 필요함.

- 블럭태그

- 속성값 : visible(default), hidden, scroll, auto


특징


1. overflow속성을 선언하지 않으면 해당 공간은 visible과 같다.

 - 디폴트값이 visible이기 때문에


2. hidden과 auto값을 이용할 경우엔 width와 height가 먼저 정해져야 함.

 -  width와 height가 정해지지 않으면 content의 크기에 따라 자동적으로 늘어나게 되므로 어느 선에서 overflow가 되는지 논리적으로도 알 수가 없음.


3. hidden 태그는 내용만 잘린다. 잘리는 내용은 볼방법이 없다.

 - hidden은 그냥 태그를 넘어서는 부분은 자르는 것이라고 생각.


4. scroll은 항상 스크롤바영역이 보이며 영역을 넘어가는 content일때 스크롤바가 나타나면서 위아래로 숨겨진 영역도 볼수 있다.

 - 하지만 scorll이 항상 보여서 스크롤바가 필요없는 화면에서도 스크롤바를 봐야한다. -> 불편하다., 신경쓰인다.


5. auto는 scroll과 hidden을 자동적으로 캐치하여 수행하는 값이다.

 - 내용물의 크기에따라 넘칠때 hidden, scroll 속성을 자동으로 캐치하여 나타낸다.


코드로 한눈에 알아보기


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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
    #box1{
        border:1px solid black;
        width:200px;
        height:200px; 
        
        /*
        오버플로우 제어(visible hidden auto)
        */ 
        overflow: auto;
    }
    
    #tbl1{
        border:1px solid black;
        border-collapse : collapse;
        height:200px;
        width:200px;
    }
    
    #tbl1 td{
        border:1px solid black;
        height:100px;
        width:100px;
        
    }
</style>
<title></title>
</head>
<body>
<div id ="box1">
    상자입니다상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
    상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
    상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다상자입니다.
    상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
    상자입니다.상자입니다.다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
    상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
    상자입니다.상자입니다.
</div>
<table id ="tbl1">
    <tr>
        <td>
            <div style="width:150px; height:150px;overflow:hidden;">
                숨겨진 영역은 보이지 않습니다.숨겨진 영역은 보이지 않습니다.
                숨겨진 영역은 보이지 않습니다.숨겨진 영역은 보이지 않습니다.
                숨겨진 영역은 보이지 않습니다.
            </div>
        </td>
        <td>
            <div style="width:150px; height:150px; overflow:scroll;">
                넘치지않아도 스크롤바가 보입니다.
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <div style ="background-color:yellow; width:150px; height: 150px; overflow:auto;">
                hidden과 scroll이 동시에 먹힙니다.hidden과 scroll이 동시에 먹힙니다.
                hidden과 scroll이 동시에 먹힙니다.hidden과 scroll이 동시에 먹힙니다.
            </div>
        </td>
        <td>
            <div style="width:150px; height:150px; overflow:visible;">
                상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
                상자입니다.상자입니다.상자입니다.상자입니다.상자입니다.
            </div>
        </td>
    </tr>
</table>
</body>
</html>
cs



결과보기







댓글

Designed by JB FACTORY