Heim Web-Frontend CSS-Tutorial So erhalten Sie das Erscheinungsbild eines HTML-Codes auf Bildschirmgeräten

So erhalten Sie das Erscheinungsbild eines HTML-Codes auf Bildschirmgeräten

Sep 21, 2024 am 06:26 AM

How to Have the Look and Feel of An HTML on Screen devices

So erhalten Sie das Erscheinungsbild von A4 in HTML auf Bildschirmgeräten

Ich habe angefangen, meinen Lebenslauf mit einer altmodischen HTML-Seite zu erstellen, und habe schnell gemerkt, dass es beim Öffnen auf einem Bildschirm nicht sofort funktioniert. Der Inhalt fließt endlos ohne Seitenumbrüche und es sah ganz sicher nicht wie ein A4-Dokument aus. Um das zu beheben, musste ich ein paar Tricks anwenden, darunter etwas CSS und ein bisschen JavaScript.

Meine Ziele waren:

  • Damit mein Lebenslauf auf dem Bildschirm genauso aussieht wie ausgedruckt.
  • Zum Anzeigen einzelner Seiten auf dem Bildschirm, genau wie ein PDF- oder Google Docs-Dokument.

Herausforderungen beim Erstellen eines Lebenslaufs in HTML

Als ich anfing, meinen Lebenslauf zu schreiben, wurde mir schnell klar, dass Browser auf Bildschirmgeräten Seitenabmessungen wie A4 nicht berücksichtigen. Stattdessen fließen die Inhalte einfach kontinuierlich weiter, was bedeutet, dass Text und Abschnitte ohne Seitenumbrüche überlaufen können. Um unterschiedliche Seiten auf der Grundlage der A4-Abmessungen zu erstellen, musste ich Seitenumbrüche manuell vornehmen, wenn der Inhalt die Höhe einer typischen A4-Seite überschritt.

Die primäre Lösung bestand darin, CSS @media-Druck- und Seitenumbrucheigenschaften zu verwenden, um zu steuern, wie sich Inhalte verhalten, wenn sie zu lang für eine Seite sind, und JavaScript anzuwenden, um dynamische Inhalte auf Bildschirmen zu verarbeiten.

1. Automatische Seitenumbrüche mit CSS (für den Druck)

Um sicherzustellen, dass der Inhalt beim Drucken korrekt fließt, habe ich die Eigenschaft page-break-inside:void verwendet. Diese Eigenschaft verhindert, dass wichtige Elemente wie Überschriften oder große Absätze auf zwei Seiten aufgeteilt werden, sodass der Browser den Inhalt bei Bedarf automatisch in Seiten aufteilen kann.

Beispiel-HTML zum Drucken:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>A4 Styled Document</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <div class="page">
    <h1>Title of Page 1</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>
  </div>

  <div class="page">
    <h1>Title of Page 2</h1>
    <p>Content will automatically break into new pages for printing...</p>
  </div>
</body>
</html>
Nach dem Login kopieren

CSS zum Drucken:

/* Define page layout for A4 size */
@media print {
  body {
    margin: 0;
    padding: 0;
  }

  .page {
    width: 210mm;
    height: 297mm;
    margin: 0;
    padding: 20mm;
    page-break-after: always; /* Automatically breaks after each page */
    box-shadow: none;
    overflow: visible; /* Ensures content flows properly when printing */
  }

  /* Prevent page breaks inside headers or large paragraphs */
  h1, h2, h3, p {
    page-break-inside: avoid;
  }
}
Nach dem Login kopieren

So funktioniert dieses CSS:

  • Seitenumbruch nach: immer; stellt sicher, dass der Inhalt nach jedem .page div im Druckmodus in eine neue Seite umgebrochen wird.
  • Seitenumbruch innen: vermeiden; verhindert, dass Kopfzeilen oder große Abschnitte umständlich auf zwei Seiten aufgeteilt werden, was für die Aufrechterhaltung eines sauberen, professionellen Aussehens beim Drucken unerlässlich ist.

2. Seitenumbrüche auf dem Bildschirm mit JavaScript behandeln

Während CSS Seitenumbrüche beim Drucken verarbeiten kann, funktionieren Bildschirmgeräte nicht auf die gleiche Weise. Browser teilen Inhalte nicht automatisch in verschiedene Seiten auf dem Bildschirm auf, daher benötigte ich JavaScript, um zu erkennen, wenn Inhalte die A4-Seitengröße überschreiten, und um sie dynamisch in neue Seiten aufzuteilen.

So habe ich das geschafft:

JavaScript für die dynamische Seitenaufteilung:

window.onload = function () {
  const pages = document.querySelectorAll('.page');

  pages.forEach(page => {
    if (page.scrollHeight > page.clientHeight) {
      splitPageContent(page);
    }
  });
};

function splitPageContent(page) {
  const newPage = document.createElement('div');
  newPage.classList.add('page');

  const contentToMove = page.innerHTML.slice(page.clientHeight / 2); 
  newPage.innerHTML = contentToMove;
  page.innerHTML = page.innerHTML.slice(0, page.clientHeight / 2);

  // Insert the new page into the DOM after the current page
  page.parentNode.insertBefore(newPage, page.nextSibling);
}
Nach dem Login kopieren

Warum JavaScript benötigt wird:

Im Gegensatz zum Drucken fließt der Text auf dem Bildschirm nicht automatisch von einem .page-Div zum nächsten, wenn er überläuft. Der Browser lässt den Inhalt einfach über die Seitengrenzen hinausschwappen. Mit dem obigen JavaScript-Code erkenne ich, wenn Inhalte überlaufen, und teile sie in eine neue Seite auf, wodurch das mehrseitige Erlebnis simuliert wird, das Sie in einem PDF oder Google Docs erwarten würden.

3. Gewährleistung eines konsistenten Seitenflusses auf dem Bildschirm und im Druck

Mit diesem Ansatz verhält sich der Inhalt auf allen Geräten konsistent:

  • Auf dem Bildschirm: JavaScript erkennt einen Inhaltsüberlauf und erstellt bei Bedarf zusätzliche .page-Divs. Dies simuliert die Erfahrung beim Betrachten eines A4-Dokuments, bei dem Sie zwischen sauber unterteilten Seiten scrollen können.

  • Im Druck: Die Druck- und Seitenumbrucheigenschaften von CSS @media verwalten automatische Seitenumbrüche beim Drucken, sodass Ihr Dokument auf Papier genauso elegant aussieht.

Abschluss

Um ein HTML-Dokument zu erstellen, das das Erscheinungsbild von A4-Seiten auf Bildschirmgeräten nachahmt, ist eine Kombination aus CSS und JavaScript erforderlich. Während CSS allein den Druckaspekt effektiv bewältigen kann, ist JavaScript für die Verwaltung von Seitenumbrüchen auf dem Bildschirm unerlässlich. Durch die Kombination beider können Sie ein nahtloses Erlebnis gewährleisten, bei dem der Text sauber über die Seiten fließt, sowohl auf dem Bildschirm als auch im Druck.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie das Erscheinungsbild eines HTML-Codes auf Bildschirmgeräten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1671
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
Ein Vergleich statischer Formanbieter Ein Vergleich statischer Formanbieter Apr 16, 2025 am 11:20 AM

Versuchen wir, hier einen Begriff zu prägen: "Statischer Formanbieter". Sie bringen Ihre HTML

Ein Beweis für das Konzept, um Sass schneller zu machen Ein Beweis für das Konzept, um Sass schneller zu machen Apr 16, 2025 am 10:38 AM

Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Apr 17, 2025 am 10:55 AM

In der Zusammenfassung der Plattformnachrichten in dieser Woche stellt Chrome ein neues Attribut für das Laden, Zugänglichkeitspezifikationen für Webentwickler und die BBC -Bewegungen ein

Einige praktisch mit dem HTML-Dialogelement Einige praktisch mit dem HTML-Dialogelement Apr 16, 2025 am 11:33 AM

Ich schaue mir das HTML -Element zum ersten Mal an. Ich habe es für eine Weile dessen bewusst, aber Haven &#039; Es wurde es noch nicht für einen Dreh genommen. Es hat einige ziemlich cool und

Papierform Papierform Apr 16, 2025 am 11:24 AM

Buy or Build ist eine klassische Technologiedebatte. Das Aufbau von Dingen selbst ist vielleicht billiger, weil Ihre Kreditkartenrechnung keine Werbebuchung gibt, aber

Wohin sollte 'Podcast' -Link abonnieren? Wohin sollte 'Podcast' -Link abonnieren? Apr 16, 2025 pm 12:04 PM

Für eine Weile war iTunes der große Hund im Podcasting. Wenn Sie also "Abonnieren Sie Podcast" verlinkt haben, um zu mögen:

Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-Ladeindikator Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-Ladeindikator Apr 17, 2025 am 11:26 AM

In der Roundup in dieser Woche, einem praktischen Lesezeichen für die Inspektion von Typografie, unter Verwendung dessen, wie sich JavaScript -Module gegenseitig importieren, sowie Facebook &#039; s.

Optionen zum Hosting Ihrer eigenen nicht-javaScript-basierten Analysen Optionen zum Hosting Ihrer eigenen nicht-javaScript-basierten Analysen Apr 15, 2025 am 11:09 AM

Es gibt eine Menge Analyseplattformen, mit denen Sie Besucher- und Nutzungsdaten auf Ihren Websites verfolgen können. Vielleicht vor allem Google Analytics, das weit verbreitet ist

See all articles