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:// | ||
- |