Lösungen zu den Herausforderungen
Diese Seite bietet Lösungen zu den Herausforderungen, die im CSS Styling-Grundlagen Modul gestellt werden. Dies sind nicht die einzigen möglichen Lösungen. Die untenstehenden Abschnitte entsprechen den Titeln der Tutorial-Abschnitte.
Kaskadierung und Vererbung
Die Herausforderungen auf der Seite Konflikte behandeln sind:
Vererbte Stile
- Herausforderung
-
Ändern Sie Ihr Stylesheet so, dass nur die roten Buchstaben unterstrichen sind.
- Lösung
-
Verschieben Sie die Deklaration für die Unterstreichung von der Regel für
<p>
zu der für<strong>
. Die resultierende Datei sieht folgendermaßen aus:cssp { color: blue; } strong { color: orange; text-decoration: underline; }
Spätere Abschnitte dieses Tutorials beschreiben Stilregeln und Deklarationen genauer.
Selektoren
Die Herausforderungen auf der Seite Grundlegende Selektoren sind:
Zweiter Absatz blau
- Herausforderung
-
Fügen Sie eine einzige Regel in Ihre CSS-Datei ein, ohne Ihre HTML-Datei zu ändern, die alle Anfangsbuchstaben in ihrer ursprünglichen Farbe belässt, aber den restlichen Text im zweiten Absatz blau macht.
- Lösung
-
Fügen Sie eine Regel mit einem ID-Selektor
#second
und einer Deklarationcolor: blue;
hinzu, wie unten gezeigt:css#second { color: blue; }
Ein spezifischerer Selektor,
p#second
, funktioniert ebenfalls.
Beide Absätze blau
- Herausforderung
-
Ändern Sie nun die eben hinzugefügte Regel (ohne etwas anderes zu ändern), sodass auch der erste Absatz blau ist.
- Lösung
-
Ändern Sie den Selektor der neuen Regel zu einem Tag-Selektor
p
:cssp { color: blue; }
Die Regeln für die anderen Farben haben alle spezifischere Selektoren, sodass sie das Blau des Absatzes überschreiben.
Lesbares CSS
Eine Regel auskommentieren
- Herausforderung
-
Kommentieren Sie einen Teil Ihres Stylesheets aus, ohne etwas anderes zu ändern, um den allerersten Buchstaben Ihres Dokuments rot zu machen.
- Lösung
-
Eine Möglichkeit ist, Kommentarzeichen um die Regel für
.carrot
zu setzen:css/* .carrot { color: orange; } */
Textstile
Große Anfangsbuchstaben
- Herausforderung
-
Machen Sie alle sechs Anfangsbuchstaben doppelt so groß in der serifenlosen Standardschrift des Browsers, ohne etwas anderes zu ändern.
- Lösung
-
Fügen Sie die folgende Stil-Deklaration zur
strong
-Regel hinzu:cssfont: 200% serif;
Wenn Sie separate Deklarationen für
font-size
undfont-family
verwenden, wird diefont-style
-Einstellung im ersten Absatz nicht überschrieben.
Farbe
Drei-Bit-Farbcodes
- Herausforderung
-
Ändern Sie in Ihrer CSS-Datei alle Farbnamen in 3-stellige Farbcodes, ohne das Ergebnis zu beeinflussen.
- Lösung
-
Die folgenden Werte sind angemessene Annäherungen an die benannten Farben:
cssstrong { color: #f00; /* red */ background-color: #ddf; /* pale blue */ font: 200% serif; } .carrot { color: #fa0; /* orange */ } .spinach { color: #080; /* dark green */ } p { color: #00f; /* blue */ }
Inhalt
Die Herausforderungen auf der Seite sind:
Ein Bild hinzufügen
- Herausforderung
-
Fügen Sie Ihrem Stylesheet eine Regel hinzu, damit das Bild am Anfang jeder Zeile angezeigt wird.
- Lösung
-
Fügen Sie diese Regel in Ihr Stylesheet ein:
cssp::before { content: url("yellow-pin.png"); }
Listen
Die Herausforderungen auf der Seite Listen stylen sind:
Römische Zahlen in Kleinbuchstaben
- Herausforderung
-
Fügen Sie Ihrem Stylesheet eine Regel hinzu, die die Ozeane mit römischen Zahlen von i bis v nummeriert.
- Lösung
-
Definieren Sie eine Regel für Listenelemente, um den Listenstil
lower-roman
zu verwenden:cssli { list-style: lower-roman; }
Großbuchstaben
- Herausforderung
-
Ändern Sie Ihr Stylesheet, um die Überschriften mit Großbuchstaben in Klammern zu kennzeichnen.
- Lösung
-
Fügen Sie eine Regel für das body-Element (Elternteil der Überschriften) hinzu, um einen neuen Zähler zurückzusetzen und einen zu definieren, der den Zähler bei den Überschriften anzeigt und erhöht:
css/* numbered headings */ body { counter-reset: head-num; } h3::before { content: "(" counter(head-num, upper-latin) ") "; counter-increment: head-num; }
Boxen
Die Herausforderungen auf der Seite Boxen sind:
Ozean-Rand
- Herausforderung
-
Fügen Sie Ihrem Stylesheet eine Regel hinzu, die eine breite Grenze rund um die Ozeane in einer Farbe erzeugt, die Sie an das Meer erinnert.
- Lösung
-
Die folgende Regel erzielt diesen Effekt:
cssul { border: 10px solid lightblue; width: 100px; }
Layout
Die Herausforderungen auf der Seite Layout sind:
Standard-Bildposition
Fixierte Bildposition
- Herausforderung
-
Ändern Sie Ihr Beispieldokument,
doc2.html
, indem Sie diesen Tag nahe dem Ende, direkt vor</BODY>
, einfügen:<IMG id="fixed-pin" src="Yellow-pin.png" alt="Yellow map pin">
Sagen Sie vorher, wo das Bild in Ihrem Dokument erscheinen wird. Aktualisieren Sie dann Ihren Browser, um zu sehen, ob Sie richtig lagen. - Lösung
-
Das Bild erscheint rechts neben der zweiten Liste.
- Herausforderung
-
Fügen Sie Ihrem Stylesheet eine Regel hinzu, die das Bild oben rechts in Ihrem Dokument platziert.
- Lösung
-
Die folgende Regel erzielt das gewünschte Ergebnis:
css#fixed-pin { position: fixed; top: 3px; right: 3px; }
Tabellen
Die Herausforderungen auf der Seite Tabellen sind:
Nur Datenzellen mit Rändern
- Herausforderung
-
Ändern Sie das Stylesheet, sodass die Tabelle nur um die Datenzellen herum einen grünen Rand hat.
- Lösung
-
Die folgende Regel legt Ränder nur um die
<td>
Elemente, die sich innerhalb des<tbody>
Elements der Tabelle mitid=demo-table
befinden:css#demo-table tbody td { border: 1px solid #7a7; }
Medien
Die Herausforderungen auf der Seite Medien sind:
Separates Druckstil-Dokument
- Herausforderung
-
Verschieben Sie die druckspezifischen Stilregeln in eine separate CSS-Datei und importieren Sie diese in Ihr
style4.css
Stylesheet. - Lösung
-
Schneiden Sie die Zeilen zwischen
/* print only */
und/* end print only */
aus und fügen Sie sie in eine Datei mit dem Namenstyle4_print.css
ein. In style4.css fügen Sie folgende Zeile am Anfang der Datei hinzu:css@import url("style4_print.css") print;
Farbe beim Überfahren der Überschrift
- Herausforderung
-
Lassen Sie die Überschriften blau werden, wenn der Mauszeiger über ihnen ist.
- Lösung
-
Die folgende Regel erzielt das gewünschte Ergebnis:
cssh1:hover { color: blue; }
JavaScript
Box nach rechts verschieben
- Herausforderung
-
Ändern Sie das Skript so, dass das Quadrat nach rechts um 20 em springt, wenn sich seine Farbe ändert, und danach wieder zurückspringt.
- Lösung
-
Fügen Sie Zeilen hinzu, um die Eigenschaft
margin-left
zu ändern. Achten Sie darauf, sie in JavaScript alsmarginLeft
anzugeben. Das folgende Skript erzielt das gewünschte Ergebnis:js// JavaScript demonstration function doDemo(button) { const square = document.getElementById("square"); square.style.backgroundColor = "#fa4"; square.style.marginLeft = "20em"; button.setAttribute("disabled", "true"); setTimeout(clearDemo, 2000, button); } function clearDemo(button) { const square = document.getElementById("square"); square.style.backgroundColor = "transparent"; square.style.marginLeft = "0em"; button.removeAttribute("disabled"); }
SVG und CSS
Farbe der inneren Blütenblätter ändern
- Herausforderung
-
Ändern Sie das Stylesheet so, dass alle inneren Blütenblätter pink werden, wenn der Mauszeiger über einem von ihnen ist, ohne die Funktionsweise der äußeren Blütenblätter zu ändern.
- Lösung
-
Verschieben Sie die Position der :hover Pseudo-Klasse von einem bestimmten Blütenblatt auf alle Blütenblätter
css#inner-petals { --segment-fill-fill-hover: pink; } /* Non-standard way for some older browsers */ #inner-petals:hover .segment-fill { fill: pink; stroke: none; }