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:gridlayout [2022-11-01 21:03] – hof | gf_informatik:web:gridlayout [2023-11-07 10:22] (aktuell) – [Auftrag III (Kombination der beiden Websiten)] gra | ||
|---|---|---|---|
| Zeile 15: | Zeile 15: | ||
| * Dazwischen links: Platz für eine Sidebar | * Dazwischen links: Platz für eine Sidebar | ||
| * Platz rechts davon, zwischen Header und Footer: Mehrere Rasterbereiche mit unterschiedlicher Grösse für Hauptinhalt. | * Platz rechts davon, zwischen Header und Footer: Mehrere Rasterbereiche mit unterschiedlicher Grösse für Hauptinhalt. | ||
| - | * Arbeite in Chrome im [[gf_informatik: | + | * Arbeite in Chrome im [[gf_informatik: |
| * Die Website könnte etwa so aussehen:{{ : | * Die Website könnte etwa so aussehen:{{ : | ||
| Zeile 30: | Zeile 30: | ||
| * Erstelle dazu eine neue Website mit einem Grid-Layout, | * Erstelle dazu eine neue Website mit einem Grid-Layout, | ||
| * Kopiere dann die Inhalte von dieser hinein. | * Kopiere dann die Inhalte von dieser hinein. | ||
| - | * **Schicke** der Lehrperson per Teams Screenshots von Website im Browser, HTML- und CSS-Code bis am **kommenden Samstag 23.59** | + | |
| ==== Grid Einrichten ==== | ==== Grid Einrichten ==== | ||
| - | Erzeuge im Body des HTML-Seite ein div-Element und weise diesem die Klasse ' | + | Erzeuge im Body des HTML-Seite ein neues Element und nennen es `my-container`. Dieses Element ist nicht Teil des HTML-Standards, |
| <code html> | <code html> | ||
| < | < | ||
| - | <grid-container> | + | <my-container> |
| <!-- Füge hier alle Elemente hinzu, die im Grid angezeigt werden sollen --> | <!-- Füge hier alle Elemente hinzu, die im Grid angezeigt werden sollen --> | ||
| - | </grid-container> | + | </my-container> |
| </ | </ | ||
| </ | </ | ||
| Zeile 49: | Zeile 49: | ||
| } | } | ||
| - | grid-container { | + | my-container { |
| display: grid; | display: grid; | ||
| width: 100vw; /* 100% der verfügbaren Breite */ | width: 100vw; /* 100% der verfügbaren Breite */ | ||
| Zeile 63: | Zeile 63: | ||
| Machen wir ein Beispiel: | Machen wir ein Beispiel: | ||
| <code html> | <code html> | ||
| - | <grid-container> | + | <my-container> |
| - | <grid-content> | + | <my-header> |
| - | </grid-container> | + | <my-content> |
| + | </my-container> | ||
| </ | </ | ||
| <code css> | <code css> | ||
| - | grid-content { | + | my-content { |
| grid-column: | grid-column: | ||
| grid-row: 2; | grid-row: 2; | ||
| Zeile 82: | Zeile 83: | ||
| @media only screen and (max-width: 500px) { | @media only screen and (max-width: 500px) { | ||
| /* überschreibe hier für alle Selektoren, für die sich etwas ändern soll, die entsprechenden Werte, wie z.B. */ | /* überschreibe hier für alle Selektoren, für die sich etwas ändern soll, die entsprechenden Werte, wie z.B. */ | ||
| - | | + | |
| grid-template-columns: | grid-template-columns: | ||
| /* ... */ | /* ... */ | ||
| Zeile 97: | Zeile 98: | ||
| * https:// | * https:// | ||
| - | Die Website responsive zu machen ist ein wenig mühsam, wenn man die Ranges der einzelnen Grid Elemente wie oben beschrieben mit `grid-column` und `grid-row` festlegt, da man dann die CSS-Einträge sämtlicher Grid Elemente anpassen muss. Alternativ kann man mit `grid-template-areas` arbeiten, dann muss man nur Veränderungen im Eintrag für `.container{...}` vornehmen. Dazu muss man den Elementen einen Namen zuweisen und kann dann über die Namen die Zuteilung der Zellen vornehmen: | + | Die Website responsive zu machen ist ein wenig mühsam, wenn man die Ranges der einzelnen Grid Elemente wie oben beschrieben mit `grid-column` und `grid-row` festlegt, da man dann die CSS-Einträge sämtlicher Grid Elemente anpassen muss. Alternativ kann man mit `grid-template-areas` arbeiten, dann muss man nur Veränderungen im Eintrag für `my-container {...}` vornehmen. Dazu muss man den Elementen einen Namen zuweisen und kann dann über die Namen die Zuteilung der Zellen vornehmen: |
| <code css> | <code css> | ||
| - | grid-container { | + | my-container { |
| ... | ... | ||
| grid-template-areas: | grid-template-areas: | ||
| Zeile 108: | Zeile 109: | ||
| } | } | ||
| - | grid-header { | + | my-header { |
| grid-area: h; | grid-area: h; | ||
| } | } | ||
| Zeile 117: | Zeile 118: | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| - | |||