152 lines
4.8 KiB
HTML
152 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Kapitel 2 — Roter Faden</title>
|
|
<style>
|
|
:root {
|
|
--dark: #1a1a2e;
|
|
--muted: #6b7280;
|
|
--soft: #f8fafc;
|
|
--border: #cbd5e1;
|
|
--hl: #d63384;
|
|
--hl-soft: #fce7f3;
|
|
--lossless: #16a34a;
|
|
--lossless-soft: #dcfce7;
|
|
--lossy: #ef4444;
|
|
--lossy-soft: #fee2e2;
|
|
}
|
|
html, body { margin: 0; padding: 0; background: #fff; font-family: system-ui, -apple-system, sans-serif; color: var(--dark); }
|
|
body { padding: 36px 44px; }
|
|
h1 { text-align: center; margin: 0 0 6px; font-size: 1.85rem; }
|
|
.sub { text-align: center; color: var(--muted); margin-bottom: 30px; font-size: 1.05rem; }
|
|
|
|
.top {
|
|
text-align: center;
|
|
font-size: 1.4rem;
|
|
font-weight: 700;
|
|
color: var(--hl);
|
|
margin-bottom: 6px;
|
|
}
|
|
.top-arrow { display: flex; justify-content: center; margin-bottom: 14px; }
|
|
.top-arrow svg { width: 36px; height: 28px; }
|
|
|
|
.branches {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 28px;
|
|
max-width: 1180px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.branch {
|
|
border: 2px solid;
|
|
border-radius: 14px;
|
|
padding: 22px 22px 24px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.branch.lossless { border-color: var(--lossless); background: var(--lossless-soft); }
|
|
.branch.lossy { border-color: var(--lossy); background: var(--lossy-soft); }
|
|
.branch-tag { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
|
|
.branch-name { font-size: 1.4rem; font-weight: 700; }
|
|
.branch.lossless .branch-name { color: var(--lossless); }
|
|
.branch.lossy .branch-name { color: var(--lossy); }
|
|
.branch-principle { font-size: 1rem; color: var(--dark); }
|
|
.branch-principle strong { color: var(--dark); }
|
|
.branch-reverse { font-size: 0.92rem; color: var(--muted); font-style: italic; }
|
|
.branch-tech, .branch-where {
|
|
background: #fff;
|
|
border: 1px solid currentColor;
|
|
border-radius: 8px;
|
|
padding: 10px 12px;
|
|
margin-top: 6px;
|
|
}
|
|
.branch-tech .label, .branch-where .label {
|
|
font-size: 0.72rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
color: var(--muted);
|
|
margin-bottom: 4px;
|
|
}
|
|
.branch-tech .body, .branch-where .body {
|
|
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
font-size: 0.95rem;
|
|
color: var(--dark);
|
|
}
|
|
|
|
.bottom {
|
|
margin-top: 28px;
|
|
max-width: 1180px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
.conv-arrows { display: flex; justify-content: center; gap: 360px; margin-bottom: 8px; }
|
|
.conv-arrows svg { width: 28px; height: 20px; }
|
|
.bottom-box {
|
|
border: 2px solid var(--hl);
|
|
background: var(--hl-soft);
|
|
border-radius: 14px;
|
|
padding: 18px 22px;
|
|
text-align: center;
|
|
}
|
|
.bottom-q { font-size: 1.3rem; font-weight: 700; color: var(--hl); }
|
|
.bottom-d { font-size: 0.95rem; color: var(--muted); margin-top: 4px; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Daten sind unhandlich — also was tun?</h1>
|
|
<div class="sub">Zwei fundamental verschiedene Wege. Die Wahl hängt vom Inhalt ab.</div>
|
|
|
|
<div class="top">Kompression</div>
|
|
<div class="top-arrow">
|
|
<svg viewBox="0 0 36 28"><polygon points="6,4 30,4 18,24" fill="#d63384"/></svg>
|
|
</div>
|
|
|
|
<div class="branches">
|
|
<div class="branch lossless">
|
|
<div class="branch-tag">Weg A</div>
|
|
<div class="branch-name">Verlustfrei (Lossless)</div>
|
|
<div class="branch-principle"><strong>Redundanz raus.</strong></div>
|
|
<div class="branch-reverse">→ vollständig umkehrbar</div>
|
|
<div class="branch-tech">
|
|
<div class="label">Techniken</div>
|
|
<div class="body">RLE · Huffman · LZ77</div>
|
|
</div>
|
|
<div class="branch-where">
|
|
<div class="label">Wo</div>
|
|
<div class="body">ZIP · PNG · FLAC · RAW</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="branch lossy">
|
|
<div class="branch-tag">Weg B</div>
|
|
<div class="branch-name">Verlustbehaftet (Lossy)</div>
|
|
<div class="branch-principle"><strong>Irrelevanz raus.</strong></div>
|
|
<div class="branch-reverse">→ nicht umkehrbar</div>
|
|
<div class="branch-tech">
|
|
<div class="label">Grundlage</div>
|
|
<div class="body">Psychoakustik · Psychovisualität</div>
|
|
</div>
|
|
<div class="branch-where">
|
|
<div class="label">Wo</div>
|
|
<div class="body">MP3 · JPEG · H.264 · WebP</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bottom">
|
|
<div class="conv-arrows">
|
|
<svg viewBox="0 0 28 20"><polygon points="4,2 24,2 14,18" fill="#d63384"/></svg>
|
|
<svg viewBox="0 0 28 20"><polygon points="4,2 24,2 14,18" fill="#d63384"/></svg>
|
|
</div>
|
|
<div class="bottom-box">
|
|
<div class="bottom-q">Wann was?</div>
|
|
<div class="bottom-d">Entscheidungsmatrix — Foto · Stream · Code · Backup</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|