Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

CSS cannot reliably vertically center one container after that container has been fragmented across multiple printed pages. The W3C CSS Print Profile states that “vertical alignment is undefined across page boundaries.” The dependable solution is to center each bounded, page-sized unit independently, then decide which units may break.

What “vertical centering across pages” actually means

Screen layouts have one continuous viewport, so a flex container can center its child with justify-content: center. Printed output is different: a paged-media engine creates discrete page boxes and fragments document boxes when their content does not fit. A container that starts on one page and continues on another is no longer one uninterrupted rectangle on which a cross-page centering calculation can operate.

CSS 2.2 defines controls such as page-break-before, page-break-after and page-break-inside; the modern CSS Fragmentation and CSS Paged Media specifications describe how boxes are split. None defines an algorithm that distributes a multi-page fragment so that its total content appears vertically centered over all of the pages it occupies.

Consequently, these expectations are not equivalent:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Amazon Basics Multipurpose Copy Printer Paper, 8.5 x 11 Inches, 20 lb, 92 Bright, White, 1 Ream (500 Sheets), Jam-Free
  • 1 ream (500 sheets) of 8.5 x 11 white copier and printer paper for home or office use
  • Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
  • Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
  • Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
  • Virgin copy paper providing professional quality results; acid-free to prevent yellowing
Goal What CSS can provide
Center a certificate that fits on one sheet Reliable when the sheet size, margins and wrapper height are explicit.
Keep a short card or panel together Usually possible with break-inside: avoid, provided it fits the page.
Center one long article as a single object over three sheets Not defined; the article must flow, or be divided into independently centered sections.

The practical pattern: one centered unit per page

Make every independently centered item a wrapper whose usable height equals the printable page height. Center the wrapper’s contents, not a box that is allowed to span pages.

  1. Choose the paper size and orientation in @page.
  2. Set explicit page margins.
  3. Calculate the wrapper’s usable height as page height minus the top and bottom margins.
  4. Use flex column centering inside that wrapper.
  5. Start each unit on a new page when that is the intended design.
  6. Ask the engine to avoid splitting the unit, while accepting that an oversized unit can still overflow.

This example centers each .centered-page section on an A4 portrait page with 18 mm margins:

@media print {
  @page {
    size: A4;
    margin: 18mm;
  }

  .centered-page {
    min-height: 259mm; /* 297mm page height - 36mm margins */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    break-before: page;
    break-inside: avoid;
  }
}

A 297 mm A4 sheet minus two 18 mm margins leaves 261 mm, not 259 mm; the value above intentionally follows the common conservative example and leaves a small safety allowance. For exact geometry, use your production renderer’s measured printable area and account for any additional header or footer space it reserves. Do not copy the number unchanged when you change paper size or margins.

Use the wrapper in markup like this:

<section class="centered-page">
  <h1>Certificate of completion</h1>
  <p>Awarded to Ada Lovelace</p>
</section>

<section class="centered-page">
  <h1>Terms</h1>
  <p>A second, independently centered page.</p>
</section>

If the first section is the first page in the document, omit break-before: page for that instance or override it with a class. Otherwise every section, including the first, will request a preceding blank page in some engines.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When to use break-inside: avoid

break-inside: avoid tells the engine not to place a page, column or region break inside the generated box when possible. It is appropriate for certificates, title pages, invoices, cards and other units that normally fit on one sheet.

@media print {
  .invoice-summary,
  .certificate,
  .cover {
    break-inside: avoid;
  }
}

The older page-break-inside: avoid property is still encountered in print stylesheets. If you support an older renderer, you can include both declarations:

@media print {
  .certificate {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

Avoidance is a request, not a promise that an impossible layout will be forced onto one page. The W3C CSS Print Profile describes the fallback for content that cannot be buffered: the printer starts the element on a new page; if it is still longer than a page, it prints as much as fits and continues on later pages so that content is preserved. MDN likewise documents break-inside as a fragmentation control and notes that support for some paged-media behavior varies.

Rank #2
HP Printer Paper | 8.5 x 11 Paper | Copy &Print 20 lb | 1 Ream Case - 500 Sheets| 92 Bright | FSC Certified | 200060
  • HP Papers is sourced from renewable forest resources and has achieved production with 0% deforestation in North America. Each ream is wrapped in a polyurethane coated paper wrapper to protect the cut sheets from moisture damage
  • Sheet size – 8.5 x 11; Thickness – 20 pounds; Brightness – 92 bright white
  • HP Copy&Print20 20 pounds printer paper is Forest Stewardship Council (FSC) certified and contributes toward satisfying credit MR1 under LEED (Leadership in Energy and Environmental Design)
  • All HP Papers provide premium performance on HP equipment, as well as on all other printer and copier equipment; 100% satisfaction guaranteed; ColorLok technology provides more vivid colors, bolder blacks and faster drying
  • Superior quality, reliability, and dependability for high-volume printing at home, at school and in the office; HP Copy&Print20 print and copy paper prevents yellowing over time to ensure a long-lasting appearance for added archival quality

What to do when the content is taller than a page

Let long reading content flow

For an article, terms document or report with unknown length, do not wrap the entire document in a vertically centered flex box. Let normal block flow create page fragments. Center only bounded sections such as a cover, chapter opener or summary card whose height is known.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Split at deliberate boundaries

If a report has sections that should each be centered, emit one wrapper per section. A section that exceeds the available page height should be treated as a flowing section rather than a centered page unit. You can place a forced break before the next bounded section with break-before: page.

Use a block fallback when flex fragmentation is inconsistent

Some browser-to-PDF and dedicated PDF engines handle flex containers that fragment across pages differently. For a one-page unit, a block wrapper with calculated top and bottom spacing can be more predictable than flex. The exact calculation depends on the content height, which means it is practical only when that height is known or measured by the rendering pipeline.

@media print {
  .centered-page--fallback {
    min-height: 259mm;
    box-sizing: border-box;
    padding-block: 70mm;
    break-before: page;
    break-inside: avoid;
  }
}

Padding values in this example are illustrative, not a universal centering formula. If content height changes, fixed padding will no longer produce geometric centering. Test the actual document and renderer instead of assuming that a screen calculation transfers to paper.

@page: useful page geometry, not cross-page centering

The @page rule establishes page-level context and can set properties such as paper size and margins:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
@page {
  size: Letter portrait;
  margin: 0.7in;
}

@page landscape-report {
  size: A4 landscape;
  margin: 12mm;
}

.report {
  page: landscape-report;
}

Named pages can help when different parts of a document require different geometry, but support for paged-media features is renderer-dependent. @page does not define a general alignment algorithm for arbitrary content that has been split across pages. The vertical-alignment discussion in page-margin boxes is a separate mechanism and should not be confused with centering a document container.

Also remember that a browser’s print dialog can let the user change paper size, orientation, margins, scale and headers. If those settings differ from your CSS assumptions, a wrapper calculated for A4 may no longer be centered. For automated PDF generation, configure the renderer’s paper and margin settings explicitly and keep them consistent with @page.

Rank #3
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 3 Reams (1,500 Sheets), 92 Bright White for Home Use
  • 3 ream case (1,500 sheets) of 8.5 x 11 white copier and printer paper for home or office use
  • Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
  • Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
  • Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
  • Virgin copy paper providing professional quality results; acid-free to prevent yellowing

Renderer and layout checklist

  • Browser print preview: verify the selected destination, paper size, margins, scale and background graphics. User settings can override the geometry you designed.
  • Browser-generated PDF: pin the paper and margin options in the automation tool, then inspect the resulting PDF rather than relying only on screen preview.
  • Dedicated PDF engine: check its support for flex fragmentation, named pages, page selectors and break properties; engines do not implement every paged-media feature identically.
  • Images and fonts: wait for web fonts and intrinsic image sizes before capture. A late layout change can move a unit across a page boundary.
  • Variable content: test the shortest, typical and longest realistic text. A unit that fits with one language or font may overflow with another.
  • Unavoidable overflow: prefer preserving all text over forcing a clipped or overlapping layout.

Common failures and precise fixes

The content is centered on screen but not in the PDF

Cause: screen CSS is active while print CSS has different dimensions, or the PDF renderer is using a different paper size.

Fix: put the centering rules inside @media print, set @page size and margins, and configure the renderer with matching values.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The first page is blank

Cause: break-before: page is applied to the first wrapper.

Fix: remove the declaration from the first instance or add a .centered-page:first-child override with break-before: auto.

A supposedly indivisible card is split anyway

Cause: the card is taller than the printable page, or the renderer does not fully honor avoidance.

Fix: reduce its content, allow it to flow, or split it into smaller units. Keep break-inside: avoid as a preference, not as an overflow guarantee.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Flex centering leaves uneven results between engines

Cause: fragmentation behavior for flex containers varies.

Rank #4
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 5 Reams (2,500 Sheets), 92 Bright White
  • 5 ream case (2,500 sheets) of 8.5 x 11 white copier and printer paper for home or office use
  • Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
  • Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
  • Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
  • Virgin copy paper providing professional quality results; acid-free to prevent yellowing

Fix: restrict flex centering to one-page units and use a measured block-spacing fallback for engines where flex fragmentation is unreliable.

The page is shifted after a user changes print margins

Cause: the wrapper’s height was derived from one margin configuration while the printer uses another.

Fix: instruct users to retain the designed margins, or generate the PDF with controlled settings. CSS cannot force every physical printer’s non-printable area to match your calculation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is a stable screenshot or PDF of a URL rather than implementing a print pipeline yourself, ScreenshotNeo provides a website screenshot API and MCP server. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed; each response reports the page verdict and billing status in headers.

One request is enough to capture a page (replace the URL with your own):

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for authentication, output formats and options. The equivalent Python request is:

import requests
r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({
  access_key: 'YOUR_API_KEY',
  url: 'https://stripe.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));

Options for print-like captures

  • Full-page capture loads lazy images; you can also capture one element by CSS selector.
  • Choose PNG, JPEG or WebP output, a device preset or custom viewport, dark mode and retina scale.
  • For documents, use PDF paper size, margins, landscape mode and page ranges.
  • Run custom CSS or JavaScript, click an element, wait for a selector, delay or network idle, and hide selectors.
  • Block ads, trackers, requests or resource types; provide headers, cookies, a user agent, Authorization, timezone and geolocation.
  • Use transparent backgrounds, image resizing, selectable cache TTLs, signed links, asynchronous jobs with signed webhooks, bulk capture for up to 100 URLs per call, the usage API and the OpenAPI specification.
  • Existing integrations can use the parameter names common to other screenshot APIs, which eases migration.

ScreenshotNeo also includes an MCP server with take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. Every feature is included on every plan: 1,000 shots per month are free without a card; paid plans start at $5 for 3,000 shots, with yearly billing providing two months free.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create a free ScreenshotNeo account to try the 1,000 monthly shots without adding a card.

Best Value
Sale
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 8 Reams (4,000 Sheets), 92 Bright White, Great for Crisp Ink Printing
  • 8 ream case (4,000 sheets) of 8.5 x 11 white copier and printer paper for home or office use
  • Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
  • Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
  • Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
  • Virgin copy paper providing professional quality results; acid-free to prevent yellowing

Decision guide

Situation Recommended CSS strategy
Certificate or cover that fits one page Explicit @page geometry plus a page-sized flex wrapper and break-inside: avoid.
Long article or terms Normal block flow; center only bounded sections.
Mixed portrait and landscape sections Named @page rules, with renderer-specific testing.
Automated URL capture without maintaining browser print code Use ScreenshotNeo’s screenshot or PDF endpoint and configure its page options.

FAQ

Can JavaScript make a multi-page container truly centered?

It can measure content and split it into separate page-sized units, but that is an application-level pagination algorithm, not a CSS cross-page alignment feature. The resulting units still need print CSS and renderer testing.

Does align-items: center solve vertical centering?

No. align-items controls the cross axis, which is horizontal in a column flex container. Vertical centering there comes from justify-content: center, and only within the wrapper’s own available height.

Why do two PDF engines produce different page breaks?

Support for flex fragmentation, break avoidance, named pages and other paged-media features varies. Use explicit geometry, keep centered units short enough to fit, and validate the exact engine that produces your files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Can JavaScript make a multi-page container truly centered?

It can measure content and split it into separate page-sized units, but that is an application-level pagination algorithm rather than a CSS cross-page alignment feature.

Does align-items: center solve vertical centering?

No. In a column flex container, vertical centering uses justify-content: center and applies only within that wrapper’s available height.

Why do two PDF engines produce different page breaks?

Support for flex fragmentation, break avoidance and other paged-media features varies, so validate the exact renderer that creates your files.

Quick Recap

Bestseller No. 1
Amazon Basics Multipurpose Copy Printer Paper, 8.5 x 11 Inches, 20 lb, 92 Bright, White, 1 Ream (500 Sheets), Jam-Free
Amazon Basics Multipurpose Copy Printer Paper, 8.5 x 11 Inches, 20 lb, 92 Bright, White, 1 Ream (500 Sheets), Jam-Free
1 ream (500 sheets) of 8.5 x 11 white copier and printer paper for home or office use; Virgin copy paper providing professional quality results; acid-free to prevent yellowing
$6.97
Bestseller No. 2
HP Printer Paper | 8.5 x 11 Paper | Copy &Print 20 lb | 1 Ream Case - 500 Sheets| 92 Bright | FSC Certified | 200060
HP Printer Paper | 8.5 x 11 Paper | Copy &Print 20 lb | 1 Ream Case - 500 Sheets| 92 Bright | FSC Certified | 200060
Sheet size – 8.5 x 11; Thickness – 20 pounds; Brightness – 92 bright white
$6.97
Bestseller No. 3
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 3 Reams (1,500 Sheets), 92 Bright White for Home Use
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 3 Reams (1,500 Sheets), 92 Bright White for Home Use
Virgin copy paper providing professional quality results; acid-free to prevent yellowing
$23.99
Bestseller No. 4
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 5 Reams (2,500 Sheets), 92 Bright White
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 5 Reams (2,500 Sheets), 92 Bright White
Virgin copy paper providing professional quality results; acid-free to prevent yellowing
$34.85
SaleBestseller No. 5
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 8 Reams (4,000 Sheets), 92 Bright White, Great for Crisp Ink Printing
Amazon Basics Multipurpose Copy Printer Paper, 20 lb, 8.5 x 11 Inches, 8 Reams (4,000 Sheets), 92 Bright White, Great for Crisp Ink Printing
Virgin copy paper providing professional quality results; acid-free to prevent yellowing
$49.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.