Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:web:css [2023-10-22 19:29] – [Erweiterte Selektoren] hof | gf_informatik:web:css [2024-12-03 15:45] (aktuell) – [Weiterführende Links] hof | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
{{ : | {{ : | ||
- | |||
- | ==== Auftrag III ==== | ||
- | |||
- | 1. Erstelle für deine **KSR-Website** vom letzten Auftrag eine **CSS-Datei** mit Namen `style.css` und füge binde sie im HTML-File ein. Wie geht das? -> Slides oder Theorie unten.\\ \\ | ||
- | 1. **Style** nun die Website im CSS-File so, dass sie **wie unten angegeben** aussieht. Farben, Abstände usw. sollen einigermassen übereinstimmen. Die benötigte Theorie findet man unten und in den Slides. Hilfe erhältst du unterhalb des Bildes. | ||
- | {{ : | ||
- | |||
- | ++++Hilfe zu Abständen| | ||
- | |||
- | Vermeide manuelle Zeilenumbrüche mit `< | ||
- | |||
- | Beispiel: Betrachte folgenden Codeausschnitt: | ||
- | <code html> | ||
- | < | ||
- | < | ||
- | </ | ||
- | Falls der Abstand zwischen der h2-Überschrift und dem Absatz nicht gross genug ist, solltest du die Margin von h2-Überschriften (primär) und/oder der Absätze ändern. Dies hat auch den Vorteil, dass die Abstände zwischen h2 und p immer einheitlich sein werden, falls diese mehrfach vorkommen im Dokument. | ||
- | |||
- | ++++ | ||
- | |||
- | ++++Hilfe zu Überschriften| | ||
- | |||
- | Um die Überschriften hinzukriegen (" | ||
- | |||
- | ++++ | ||
- | ==== Theorie CSS ==== | ||
Mit **HTML** erstellen wir den //Inhalt// für unsere Webseite. Damit diese aber auch ansprechend dargestellt wird, **formatieren** wir sie mittels **Cascading Style Sheets** (CSS). Das Zusammenspiel zwischen HTML und CSS wird in den folgenden Grafiken visualisiert: | Mit **HTML** erstellen wir den //Inhalt// für unsere Webseite. Damit diese aber auch ansprechend dargestellt wird, **formatieren** wir sie mittels **Cascading Style Sheets** (CSS). Das Zusammenspiel zwischen HTML und CSS wird in den folgenden Grafiken visualisiert: | ||
Zeile 73: | Zeile 47: | ||
== Beispiel 2 == | == Beispiel 2 == | ||
- | Ein etwas ausgereifteres | + | <WRAP group> |
+ | <WRAP column half> | ||
+ | |||
+ | Eine etwas ausgereiftere | ||
<code css> | <code css> | ||
body { | body { | ||
Zeile 89: | Zeile 67: | ||
} | } | ||
</ | </ | ||
+ | </ | ||
+ | <WRAP column half> | ||
Wird diese in eine HTML-Datei eingebunden, | Wird diese in eine HTML-Datei eingebunden, | ||
< | < | ||
<div style=" | <div style=" | ||
- | <div style=" | + | <div style=" |
- | <h1 style=" | + | <h3 style=" |
- | <h3 style=" | + | |
<p>My first paragraph, it's so <strong style=" | <p>My first paragraph, it's so <strong style=" | ||
</ | </ | ||
</ | </ | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Wichtigste CSS-Eigenschaften === | ||
+ | |||
+ | ^ Attribut | ||
+ | | `color` | ||
+ | | `font-family` | ||
+ | | `font-size` | ||
+ | | `font-weight` | ||
+ | | `text-align` | ||
+ | | `background-color` | ||
+ | | `background-image` | ||
=== Abstände & Ränder === | === Abstände & Ränder === | ||
Zeile 111: | Zeile 104: | ||
* Bei aneinanderstossenden Elementen überlappen sich die Margins, d.h. der Abstand entspricht dem jeweils grösseren. | * Bei aneinanderstossenden Elementen überlappen sich die Margins, d.h. der Abstand entspricht dem jeweils grösseren. | ||
- | Beide Abstandsbreiten können einzeln mit `margin-left`, | + | == Margin & Padding == |
+ | Beide Abstandsbreiten können einzeln mit `margin-left`, | ||
Mehr Informationen [[https:// | Mehr Informationen [[https:// | ||
+ | |||
+ | == Horizontale Zentrierung == | ||
+ | Ein Element (beispielsweise der ganze `body`) lässt sich einfach horizontal zentrieren, indem die Breite auf eine bestimmte Grösse gesetzt wird, und die `margin` links und rechts auf den Wert `auto` gesetzt wird: | ||
+ | |||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | |||
+ | <code css> | ||
+ | body { | ||
+ | max-width: 10cm; /* Body soll nicht breiter als 10cm sein. */ | ||
+ | margin: 5mm auto; /* Oben und unten 5mm Rand, die Seiten immer gleich breit. */ | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP column half> | ||
+ | |||
+ | < | ||
+ | <div style=" | ||
+ | <div style=" | ||
+ | <h3 style=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Border == | ||
Für die `border` funktioniert die Einstellung etwas anders, da neben der Breite auch noch der Stil gesetzt werden kann. Am einfachsten werden alle Angaben zu Breite, Stil und Farbe kombiniert: | Für die `border` funktioniert die Einstellung etwas anders, da neben der Breite auch noch der Stil gesetzt werden kann. Am einfachsten werden alle Angaben zu Breite, Stil und Farbe kombiniert: | ||
<code css> | <code css> | ||
- | border: | + | border: |
</ | </ | ||
Mehr Informationen [[https:// | Mehr Informationen [[https:// | ||
+ | == Grössenangaben == | ||
+ | |||
+ | Die Geräte, die unsere Webseite anzeigen sollen, sind sehr unterschiedlich gross: ein Mobiltelefon ist vielleicht 8 oder 10cm breit, auf dem Projektor stehen mehrere Meter zur Verfügung. Deshalb werden auch vermeintlich absolute Grössen wie `cm` oder `mm` vom Browser nicht so absolut interpretiert. Oft ist es ohnehin besser, stattdessen mit einem Mass zu arbeiten, dass sich auf die Schriftgrösse des Elements bezieht: | ||
+ | * `1em` ist ungefähr die Grösse des Buchstabens `M`, je nach Schriftgrösse des Elements. | ||
+ | * `1lh` entspricht der Zeilenhöhe. | ||
+ | |||
+ | Für grössere Layouts können wir mit Grössenangaben relativ zur Grösse des Browserfensters arbeiten: | ||
+ | * `1vw` ist ein Prozent der Breite des Browserfensters. | ||
+ | * `1vh` ist ein Prozent der Höhe des Browserfensters. | ||
+ | |||
+ | Mehr zu [[https:// | ||
=== Erweiterte Selektoren === | === Erweiterte Selektoren === | ||
Bisher haben wir CSS-Regeln für alle gleichen Elemente geschrieben. Die Selektoren können aber noch nach weiteren Kriterien entscheiden, | Bisher haben wir CSS-Regeln für alle gleichen Elemente geschrieben. Die Selektoren können aber noch nach weiteren Kriterien entscheiden, | ||
Zeile 149: | Zeile 186: | ||
<WRAP column third> | <WRAP column third> | ||
< | < | ||
+ | <div style=" | ||
<p style=" | <p style=" | ||
<p style=" | <p style=" | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
Zeile 186: | Zeile 225: | ||
<WRAP column third> | <WRAP column third> | ||
< | < | ||
- | <p style=" | + | <div style=" |
- | <div style=" | + | <p style=" |
+ | <div style=" | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
Zeile 215: | Zeile 256: | ||
<WRAP column third> | <WRAP column third> | ||
< | < | ||
+ | <div style=" | ||
<p style=" | <p style=" | ||
< | < | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | == Weitere Selektoren == | ||
+ | |||
+ | Weitere Selektoren können Element auswählen, die innerhalb eines anderen bestimmten Elements sind (z.B. alle `< | ||
+ | |||
+ | === Mobilgeräte und Viewport === | ||
+ | Mobilgeräte sind viel kleiner als ein Computerbildschirm. Um trotzdem die ganze Webseite zu zeigen, verkleinern die meisten Mobilgeräte die Seite, aber um den Text lesen zu können, muss sie anschliessend gezoomt werden. | ||
+ | |||
+ | Um dies zu verhindern, kann eine [[https:// | ||
+ | |||
+ | <code html> | ||
+ | < | ||
+ | <meta name=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
=== Weiterführende Links === | === Weiterführende Links === | ||
Zeile 227: | Zeile 286: | ||
* mehr zu [[https:// | * mehr zu [[https:// | ||
* mehr zu [[https:// | * mehr zu [[https:// | ||
+ | * [[https:// | ||
+ | * alle [[https:// | ||