< Code diaries />

HTML문서에서 프린트 설정하기 - @media print CSS 설정 및 @page 사용법 본문

CSS

HTML문서에서 프린트 설정하기 - @media print CSS 설정 및 @page 사용법

ejey 2024. 9. 10. 15:24

 

오늘은 HTML문서에서의 프린트 설정에 대하여 알아볼게요

웹 페이지를 디자인 할때 Screen 에서 보이는 모습을 CSS로 스타일링 하게 되는데요,

페이지 중 인쇄를 제공해야하는 페이지들은 별도로 인쇄용 CSS를 정의하게 됩니다.

그 방법을 몇가지 소개해볼게요

 

1. CSS 파일 내부에서 @media로 프린트 css 지정하기

css 내부에서 사용할때에 할 수 있는 방법입니다.

아래 코드를 보면 @media print 구문을 이용하여 프린트할때에 문서의 배경색과 글자색을 변경하고 있습니다.

 

* { margin:0;padding:0}
body { background-color:black; color:#fff;}
p {
    line-height:2;
    max-width:800px;
    margin:0 auto;
}

@media print {
  	@page { /* 모든 페이지 공통 */
        margin:2cm;
    }

    @page:first { /* 첫번째 페이지에만 적용됨 */
        margin:0 1cm;
    }
    
    body {
        background-color:transparent;
        color:#000;
    }
  
}

 

 

2. CSS 파일을 분리하여 적용하는 경우

만약 screen.css 와 print.css 이렇게 파일이 두개로 분리가 되어있다면 파일자체를 HTML문서에 연결할때 미디어를 지정할 수 있습니다.

<!-- screen용 css -->
<link rel="stylesheet" href="./print.css" media="screen"> 


<!-- print용 css -->
<link rel="stylesheet" href="./print.css" media="print">
@charset "utf-8";

/* print.css */

body {
    background-color:transparent;
    color:#000;
}
@page {
    margin:2cm;
}

@page:first {
    margin:0 1cm;
}

 

3. Style tag에 직접적는 경우

아래와 같이 지정할 수는 있지만, 잘 사용하지 않습니다.

<style media="print">
	body { color:#000; background-color:transparent; }
</style>
반응형