<div class="page grid" orientation="portrait" size="A4"> <span class="falzmarke-oben">––</span> <span class="falzmarke-unten">––</span> <div class="seitenlogo"> <img src="daten/logo_seite_dummy.svg" height="160px" alt="traeger_logo" /> </div> <div class="header"> <img class="logo" src="daten/top_dummy.svg" alt="Briefkopf" /> <hr class="hr-rot hr" /> </div> <div class="main"> <div class="sidebar"> <div class="sidebar-oben"> Somewhere 12<br />12345 Nowhere <div class="voffset-1"></div> Telefon 0123 1412617<br />Telefax 0122 14214270<br />us@thisaddress.de<br />www.thisaddress.de <div class="voffset-1"></div> Bürozeiten:<br />Mo. und Do.<br />07:15 – 12:30 Uhr<br />13:30 – 15:30 Uhr<br />Di., Mi. und Fr.<br />07:15 – 13:30 Uhr <div class="voffset-1"></div> {(new Date().toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'}))}<br /> <slot name="kuerzel"></slot> </div> <div class="sidebar-unten"> Important stuff: <div class="voffset-1"></div> <b>This here</b><br />Foo<br />Bar <div class="voffset-1"></div> <b>That</b><br />Hoo<br />Haaaaaaaaa<br />jOOOOOOOO<br />weeeeeee waaaa<br />wuuu <div class="voffset-1"></div> <b>gggggggg</b><br />wedwedwae wedw wdweewe <div class="voffset-1"></div> <b>wedwedwedwed</b><br />dwedwefffff/<br />Hewq)wedwef <div class="voffset-1"></div> <b>Weitere Informationen:</b><br />www.thisaddress.de </div> </div> <div class="links"> <div class="absender"> Me somewhere<br /><b>at this place</b>· Postfach 123 456 · 12345 Nowhere </div> <div class="anschrift"> <slot name="anschrift"></slot> </div> <div class="anschreiben"> <slot></slot> </div> </div> </div> </div> <style> .page { font-size: 1.2em; line-height: 1.5; font-weight: normal; font-family: "Tex Gyre Heros"; color: #333; position: relative; padding: 0; display: block; } .grid { display: grid; align-content: stretch; grid-template-rows: 35mm auto; grid-template-areas: "header" "main"; } .header { display: grid; grid-area: header; align-self: start; margin-left: 24.1mm; margin-right: 8.1mm; grid-template-columns: auto; grid-template-rows: auto; grid-template-areas: "logo" "hr"; } .logo { justify-content: end; margin-top: 10mm; grid-area: logo; margin-left: auto; height: 20mm; } .hr { grid-area: hr; align-self: end; } .main { grid-area: main; align-content: stretch; display: grid; grid-template-columns: 2fr 1fr; height: 100%; grid-template-areas: "links sidebar"; } .links { display: grid; grid-area: links; grid-template-rows: 10mm 40mm auto; margin-bottom: 10mm; grid-template-areas: "absender" "anschrift" "anschreiben"; } .absender { grid-area: absender; font-size: 7.5pt; margin-left: 20mm; } .anschrift { grid-area: anschrift; font-size: 11pt; margin-left: 25mm; } .anschreiben { grid-area: anschreiben; font-size: 11pt; margin-left: 25mm; width: 115mm; } .sidebar { display: grid; margin-right: 8.1mm; justify-self: end; grid-area: sidebar; margin-bottom: 10mm; grid-template-rows: auto; grid-template-areas: "sidebar-oben" "sidebar-unten"; } .sidebar-oben { grid-area: sidebar-oben; align-self: start; } .sidebar-unten { grid-area: sidebar-unten; align-self: end; } .flex-grid { display: flex; } .col { flex: 1; } .col-2 { flex: 2; } @import url(normalize.css); @font-face { font-family: 'TeX Gyre Heros'; src: url("texgyreheros-regular-webfont.woff") format("woff"); font-style: normal; } @font-face { font-family: 'TeX Gyre Heros'; src: url("texgyreheros-bold-webfont.woff") format("woff"); font-style: normal; font-weight: bold; } @font-face { font-family: 'TeX Gyre Heros'; src: url("texgyreheros-italic-webfont.woff") format("woff"); font-style: italic; } @font-face { font-family: 'TeX Gyre Heros'; src: url("texgyreheros-bolditalic-webfont.woff") format("woff"); font-style: italic; font-weight: bold; } @media print { * { -webkit-print-color-adjust: exact; } .page { page-break-after: always; page-break-inside: avoid; margin: 0; } } /* Da *named pages*, also z.B. @page a3landscape noch nicht von Chrome unterstützt werden, gilt vorerst die Standard-Einstellung von A4 Portrait. Um andere Formate zu erzeugen, muss die Größe in den svelte-Koponenten als setup-Einstellung hinterlegt werden. Oder man verwendet ein besonderes CSS mit der anderen Einstellung. Dazu bitte ein @import 'nicht_a4_portrait.css' verwenden. Svelte ignoriert sonst die in den <style> tags hinterlegten @... Anweisungen. Link: https://www.w3.org/TR/css3-page/#using-named-pages */ .page[size="A4"][orientation="portrait"] { page: a4portrait; width: 210mm; height: 296.8mm; } @page a4portrait { margin: 0; size: A4 portrait; } .page[size="A4"][orientation="landscape"] { page: a4landscape; width: 296.8mm; height: 210mm; } @page a4landscape { margin: 0; size: A4 landscape; } .page[size="A3"][orientation="portrait"] { page: a3portrait; width: 296.8mm; height: 420mm; } @page a3portrait { margin: 0; size: A3 portrait; } .page[size="A3"][orientation="landscape"] { page: a3landscape; width: 420mm; height: 296.8mm; } @page a3landscape { margin: 0; size: A3 landscape; } .page[size="A5"][orientation="portrait"] { page: a5portrait; width: 148mm; height: 210mm; } @page a5portrait { margin: 0; size: A5 portrait; } .page[size="A5"][orientation="landscape"] { page: a5landscape; width: 210mm; height: 148mm; } @page a5landscape { margin: 0; size: A5 landscape; } @media screen { .page { border: 1px solid black; box-shadow: 5px 5px 4px 0 silver; } } svelte { font-size: 62.5%; } /* Typography */ h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; font-weight: 400; } h1 { font-size: 4.0em; line-height: 1.2; letter-spacing: -.1em; } h2 { font-size: 3.6em; line-height: 1.25; letter-spacing: -.1em; } h3 { font-size: 3.0em; line-height: 1.3; letter-spacing: -.1em; } h4 { font-size: 2.4em; line-height: 1.35; letter-spacing: -.08em; } h5 { font-size: 1.8em; line-height: 1.5; letter-spacing: -.05em; } h6 { font-size: 1.5em; line-height: 1.6; letter-spacing: 0; } p { margin-top: 0; } .voffset-halb { margin-top: 0.5em; } .voffset-1 { margin-top: 1em; } .voffset-2 { margin-top: 2em; } .voffset-3 { margin-top: 3em; } .voffset-4 { margin-top: 4em; } .voffset-5 { margin-top: 5em; } .voffset-6 { margin-top: 6em; } .voffset-7 { margin-top: 7em; } .voffset-8 { margin-top: 8em; } .voffset-9 { margin-top: 9em; } .voffset-10 { margin-top: 10em; } .voffset-11 { margin-top: 11em; } .voffset-12 { margin-top: 12em; } .voffset-13 { margin-top: 13em; } .voffset-14 { margin-top: 14em; } .voffset-15 { margin-top: 15em; } .voffset-16 { margin-top: 16em; } .voffset-17 { margin-top: 17em; } .voffset-18 { margin-top: 18em; } .voffset-19 { margin-top: 19em; } .voffset-20 { margin-top: 20em; } .text-center { text-align: center !important; } hr { border: 0; border-top: 1px solid #eee; border-color: #000; height: 1px; margin: 3px 0; } .hr-rot { border-color: #ff2700; margin: 8px 0; } .hr-grau { border-color: #646464 !important; } .falzmarke-oben { position: absolute; top: 105mm; left: 10mm; } .falzmarke-unten { position: absolute; top: 210mm; left: 10mm; } </style>