It is necessary to add a printing style to web pages, because the display characteristics of paper and screen are different, and printing directly is prone to problems such as typography disorders. 1. Use @media print to define a print-specific style, which can hide irrelevant elements, remove backgrounds and adjust fonts; 2. Display hyperlink addresses through pseudo-elements to improve readability; 3. Control paging and layout to avoid content breakage and set appropriate margins; 4. Use browser developer tools to simulate the printing environment for debugging, ensuring that the output is neat and easy to read.
Many people think it is unnecessary to add print styles to web pages, but it is not. The display of paper and screen is completely different. Printing web pages directly often leads to problems such as confusing layout, interference in background images, and link failure. Make good use of CSS Print Stylesheet to enable users to obtain clear and easy-to-read documents when printing, improving the experience.

1. Use @media print to control the print style
The core approach is to define style rules that only take effect when printing is performed through @media print
. You can write it in the main style sheet or you can import a print.css file separately.

@media print { body { font-size: 12pt; color: black; background: white; } }
Common operations include:
- Hide unnecessary elements (such as navigation bar, sidebar, ad)
- Remove background color or image (the browser does not print the background by default, but explicit removal is more safe)
- Adjust font size and line spacing to suit paper reading habits
2. Remove the "naked address" of the hyperlink
Hyperlinks on web pages will become text without context when printed, which has poor user experience. The URL can be displayed through pseudo-elements.

@media print { a::after { content: " (" attr(href) ")"; } }
In this way, <a href="https://example.com">示例鏈接</a>
will print it out and it will be: "example link ( http://miracleart.cn/link/77dbda525242a07339101a7c6ac73495 .
3. Control page layout and pagination
The page structure when printing is different from the screen. Pay attention to controlling the paging position to avoid truncating or disassembling of the content.
@media print { h2 { page-break-before: always; /* Each secondary title starts with a new page*/ } .no-page-break { page-break-inside: avoid; /* Prevent the element from being interrupted by paging*/ } }
Common techniques include:
- Set up appropriate margin and padding so that the content is not pasted
- Standard size of A4 paper: width: 210mm; height: 297mm (but manual settings are generally not required)
- Avoid fixed-width layouts and try to use adaptive content widths
4. Test and debug printing styles
The printing style is invisible and intangible, so it is a bit troublesome to debug. Chrome Developer Tools provide a "print" simulation environment:
- Open DevTools → Switch to the “Elements” tab
- Click the three dots in the upper right corner → More Tools → Rendering
- Select "print" in "Emulate CSS media type"
This allows you to preview the printing effect in real time, making it easier to adjust the style.
Basically that's it. Writing a print style is not complicated, but it is easy to ignore details. Just pay attention to hiding irrelevant elements, optimizing text display, processing links and paging, and you can make a clean and tidy printout.
The above is the detailed content of Creating effective CSS Print Stylesheets. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

There are three ways to selectively include CSS on a specific page: 1. Inline CSS, suitable for pages that are not frequently accessed or require unique styles; 2. Load external CSS files using JavaScript conditions, suitable for situations where flexibility is required; 3. Containment on the server side, suitable for scenarios using server-side languages. This approach can optimize website performance and maintainability, but requires balance of modularity and performance.

Flexboxisidealforone-dimensionallayouts,whileGridsuitstwo-dimensional,complexlayouts.UseFlexboxforaligningitemsinasingleaxisandGridforprecisecontroloverrowsandcolumnsinintricatedesigns.

The HTML popover attribute transforms elements into top-layer elements that can be opened and closed with a button or JavaScript. Popovers can be dismissed a number of ways, but there is no option to auto-close them. Preethi has a technique you can u

CSS blocks page rendering because browsers view inline and external CSS as key resources by default, especially with imported stylesheets, header large amounts of inline CSS, and unoptimized media query styles. 1. Extract critical CSS and embed it into HTML; 2. Delay loading non-critical CSS through JavaScript; 3. Use media attributes to optimize loading such as print styles; 4. Compress and merge CSS to reduce requests. It is recommended to use tools to extract key CSS, combine rel="preload" asynchronous loading, and use media delayed loading reasonably to avoid excessive splitting and complex script control.

In the following tutorial, I will show you how to create Lottie animations in Figma. We'll use two colorful designs to exmplify how you can animate in Figma, and then I'll show you how to go from Figma to Lottie animations. All you need is a free Fig

We put it to the test and it turns out Sass can replace JavaScript, at least when it comes to low-level logic and puzzle behavior. With nothing but maps, mixins, functions, and a whole lot of math, we managed to bring our Tangram puzzle to life, no J

ThebestapproachforCSSdependsontheproject'sspecificneeds.Forlargerprojects,externalCSSisbetterduetomaintainabilityandreusability;forsmallerprojectsorsingle-pageapplications,internalCSSmightbemoresuitable.It'scrucialtobalanceprojectsize,performanceneed

No,CSSdoesnothavetobeinlowercase.However,usinglowercaseisrecommendedfor:1)Consistencyandreadability,2)Avoidingerrorsinrelatedtechnologies,3)Potentialperformancebenefits,and4)Improvedcollaborationwithinteams.
