Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM Style pageBreakInside 속성 – 문법, 값 종류, 실전 예제까지 한눈에

HTML DOM의 pageBreakInside 속성은 HTML 문서에서 특정 요소 내부에서 페이지 나누기(page break)가 발생하는 방식을 확인하고 설정할 수 있는 스타일 속성입니다. 주로 인쇄(print) 또는 인쇄 미리보기(print preview) 시 콘텐츠가 중간에 잘리지 않도록 제어할 때 유용하게 사용됩니다.

문법(Syntax)

pageBreakInside 속성은 아래 두 가지 방식으로 사용할 수 있습니다.

1. 속성 값 가져오기

object.pageBreakInside

2. 속성 값 설정하기

object.pageBreakInside = "value"

사용 가능한 값

value 자리에는 다음 네 가지 값을 지정할 수 있습니다.

설명
auto필요한 경우에만 요소 내부에 페이지 나누기를 삽입합니다. (기본 동작)
avoid요소 내부에서 페이지 나누기가 일어나지 않도록 방지합니다.
initial이 속성을 기본(default) 값으로 되돌립니다.
inherit부모 요소로부터 이 속성 값을 상속받습니다.

예제(Example)

아래 예제는 버튼을 클릭하면 두 번째 문단 요소에 pageBreakInside: avoid를 적용하여, 인쇄 시 해당 문단이 페이지 경계에서 잘리지 않도록 만드는 코드입니다.

<!DOCTYPE html>
<html>
<style>
    body {
        color: #000;
        height: 100vh;
        background-color: #8BC6EC;
        background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%);
    }
    .btn {
        background: #db133a;
        border: none;
        height: 2rem;
        border-radius: 2px;
        width: 40%;
        display: block;
        color: #fff;
        outline: none;
        cursor: pointer;
        margin: 1rem auto;
    }
    p {
        text-align: center;
    }
</style>
<body>
<h1 style="text-align:center">DOM Style pageBreakInside Property Demo</h1>
<p>
Hi! I'm a para element with some dummy text. Hi! I'm a para element with some dummy text.
</p>
<p class="page-break">
Hi! I'm second para element with some dummy text. Hi! I'm a second element with some dummy text.
</p>
<button onclick="set()" class="btn">Set Break Page Here</button>
<p>
Hi! I'm another para element with some dummy text. Hi! I'm another para element with some dummy text.
</p>
<script>
    function set() {
        document.querySelector(".page-break").style.pageBreakInside = "avoid";
    }
</script>
</body>
</html>

실행 결과(Output)

HTML DOM Style pageBreakInside 속성 – 문법, 값 종류, 실전 예제까지 한눈에

먼저 브라우저에서 인쇄 미리보기를 열어 현재 HTML 페이지가 어떻게 출력되는지 확인합니다. 그런 다음 빨간색 버튼을 클릭하면 두 번째 문단에 avoid 값이 적용되어 해당 요소 내부에서 페이지 나누기가 발생하지 않습니다.

HTML DOM Style pageBreakInside 속성 – 문법, 값 종류, 실전 예제까지 한눈에

정리

pageBreakInside 속성은 인쇄물 품질을 좌우하는 세부적인 조정 기능입니다. 표, 이미지, 인용구처럼 한 페이지 안에 온전히 유지해야 하는 요소에 avoid를 적용하면, 독자가 읽기 편한 깔끔한 인쇄 결과물을 만들 수 있습니다. 다만 모든 브라우저에서 동일하게 동작하지 않을 수 있으므로, 실제 배포 전에는 주요 브라우저에서 인쇄 결과를 직접 테스트해 보는 것이 좋습니다.