[HTML, CSS] 내용이 요소(div 등)를 벗어날 때 스크롤 적용하는 방법 - overflow
jaewooojung
2019. 8. 18. 21:11
HTML CSS
CSS overflow
HTML에서 요소 안의 내용이 요소를 벗어났을 때 스크롤을 생성하는 방법입니다.
다음과 같이 width와 height가 고정되지 않은 div 안에 텍스트가 있습니다.
<!DOCTYPE html>
<html>
<head>
<style>
.container {
border: 3px solid black;
}
</style>
</head>
<body>
<div class="container">
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Reiciendis nam, nostrum sed vitae corporis quis quia
deleniti quod doloremque consequuntur eius magni consectetur earum doloribus. Sapiente voluptas rem dignissimos
repellat?Lorem ipsum dolor, sit amet consectetur adipisicing elit. Blanditiis quidem laborum laboriosam rerum
vitae dignissimos dolores dolorum pariatur. Repudiandae unde nam, quae alias deleniti numquam exercitationem omnis
atque in praesentium!Lorem. Minim aliqua ullamco mollit sunt qui est do. Esse elit commodo Lorem laborum anim et
ea exercitation et. Amet Lorem veniam eiusmod non aliquip est consectetur est consequat fugiat. Irure ut nostrud
elit enim id.
</div>
</body>
</html>
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Reiciendis nam, nostrum sed vitae corporis quis quia
deleniti quod doloremque consequuntur eius magni consectetur earum doloribus. Sapiente voluptas rem dignissimos
repellat?Lorem ipsum dolor, sit amet consectetur adipisicing elit. Blanditiis quidem laborum laboriosam rerum
vitae dignissimos dolores dolorum pariatur. Repudiandae unde nam, quae alias deleniti numquam exercitationem omnis
atque in praesentium!Lorem. Minim aliqua ullamco mollit sunt qui est do. Esse elit commodo Lorem laborum anim et
ea exercitation et. Amet Lorem veniam eiusmod non aliquip est consectetur est consequat fugiat. Irure ut nostrud
elit enim id.
width와 height가 고정되지 않았기 때문에(width 혹은 height 속성을 설정하지 않았기 때문에) 이 코드에서는 텍스트의 길이가 아무리 길어도 이 요소에는 스크롤바가 생기지 않고 무한히 늘어납니다. 즉, 길이가 설정되어 있지 않은 요소에는 overflow 속성을 사용해도 스크롤바가 생성되지 않습니다.
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Reiciendis nam, nostrum sed vitae corporis quis quia
deleniti quod doloremque consequuntur eius magni consectetur earum doloribus. Sapiente voluptas rem dignissimos
repellat?Lorem ipsum dolor, sit amet consectetur adipisicing elit. Blanditiis quidem laborum laboriosam rerum
vitae dignissimos dolores dolorum pariatur. Repudiandae unde nam, quae alias deleniti numquam exercitationem omnis
atque in praesentium!Lorem. Minim aliqua ullamco mollit sunt qui est do. Esse elit commodo Lorem laborum anim et
ea exercitation et. Amet Lorem veniam eiusmod non aliquip est consectetur est consequat fugiat. Irure ut nostrud
elit enim id.
height가 고정되면서 텍스트가 요소를 벗어났습니다.
이제 css의 overflow 속성을 사용해서 벗어난 부분을 처리해 보도록 하겠습니다.
이 글에서는 height와 수직 방향의 스크롤만 다루겠습니다. width와 수평방향의 스크롤도 이와 동일하게 적용됩니다.
수직 방향 스크롤은 overflow-y, 수평 방향 스크롤은 overflow-x 속성으로 적용하고, overflow 속성은 두 개에 동시에 적용합니다. 이 글에서는 편의상 overflow 속성만 사용하겠습니다.
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Reiciendis nam, nostrum sed vitae corporis quis quia
deleniti quod doloremque consequuntur eius magni consectetur earum doloribus. Sapiente voluptas rem dignissimos
repellat?Lorem ipsum dolor, sit amet consectetur adipisicing elit. Blanditiis quidem laborum laboriosam rerum
vitae dignissimos dolores dolorum pariatur. Repudiandae unde nam, quae alias deleniti numquam exercitationem omnis
atque in praesentium!Lorem. Minim aliqua ullamco mollit sunt qui est do. Esse elit commodo Lorem laborum anim et
ea exercitation et. Amet Lorem veniam eiusmod non aliquip est consectetur est consequat fugiat. Irure ut nostrud
elit enim id.
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Reiciendis nam, nostrum sed vitae corporis quis quia
deleniti quod doloremque consequuntur eius magni consectetur earum doloribus. Sapiente voluptas rem dignissimos
repellat?Lorem ipsum dolor, sit amet consectetur adipisicing elit. Blanditiis quidem laborum laboriosam rerum
vitae dignissimos dolores dolorum pariatur. Repudiandae unde nam, quae alias deleniti numquam exercitationem omnis
atque in praesentium!Lorem. Minim aliqua ullamco mollit sunt qui est do. Esse elit commodo Lorem laborum anim et
ea exercitation et. Amet Lorem veniam eiusmod non aliquip est consectetur est consequat fugiat. Irure ut nostrud
elit enim id.
overflow를 auto로 설정하면 텍스트가 요소의 테두리를 넘어가지 않았을 때에는 스크롤이 생성되지 않고
텍스가 요소의 테두리를 넘어가는 경우에는 자동으로 스크롤이 생성됩니다.
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Reiciendis nam, nostrum sed vitae corporis quis quia
deleniti quod doloremque consequuntur eius magni consectetur earum doloribus. Sapiente voluptas rem dignissimos
repellat?Lorem ipsum dolor, sit amet consectetur adipisicing elit. Blanditiis quidem laborum laboriosam rerum
vitae dignissimos dolores dolorum pariatur. Repudiandae unde nam, quae alias deleniti numquam exercitationem omnis
atque in praesentium!Lorem. Minim aliqua ullamco mollit sunt qui est do. Esse elit commodo Lorem laborum anim et
ea exercitation et. Amet Lorem veniam eiusmod non aliquip est consectetur est consequat fugiat. Irure ut nostrud
elit enim id.