Final
Ein Quiz über CSS zum Abschluss. Testet euer Wissen - die Antworten werden nur lokal in eurem Browser gespeichert.
Woraus besteht eine CSS-Regel („Rule“)?
- Aus einem Property, einem Doppelpunkt und einem Wert
Das ist nur eine einzelne Deklaration - eine Regel ist mehr als das.
- Aus einem Selektor und geschwungenen Klammern mit Deklarationen
- Aus einem HTML-Tag und dem Attribut
styleDas
style-Attribut ist eine Möglichkeit, CSS anzuwenden - es ist selbst keine CSS-Regel. - Aus einer Klasse und einer ID
Eine Regel besteht aus einem Selektor gefolgt von geschwungenen Klammern,
die eine oder mehrere Deklarationen (property: wert;) enthalten können.
Welcher Selektor wählt alle Elemente mit class="wichtig" aus?
-
#wichtigDie Raute
#referenziert eine ID, keine Klasse. -
wichtigOhne Punkt wäre das ein Type-Selector für einen (nicht existierenden) Tag
<wichtig>. -
.wichtig -
p > wichtig
Wo sollte die Anweisung <link rel="stylesheet" href="mystyle.css"> stehen?
- Im
head-Bereich der HTML-Datei - Ganz am Ende des
bodyDann kann die Darstellung der Seite verzögert werden - der Browser erfährt erst spät von den Styles.
- In der CSS-Datei selbst
- Direkt vor dem ersten
h1
Eine Deklaration im style-Attribut eines Tags widerspricht einer Deklaration in der externen CSS-Datei. Was passiert?
- Die Angabe im
style-Attribut gewinnt - Die externe CSS-Datei gewinnt
- Der Browser zeigt eine Fehlermeldung
CSS kennt keine Fehlermeldungen für widersprüchliche Regeln - es gibt immer eine definierte Auflösung.
- Beide Angaben werden ignoriert
„Je näher beim Tag, desto stärker wirkt es“ - Angaben am einzelnen Tag haben Vorrang
vor den lokalen Angaben im head-Bereich, und diese wiederum vor der externen Datei.
Welche Elemente wählt der Selektor * aus?
- Alle Elemente des Dokuments
- Nur das Wurzel-Element
html - Alle Elemente mit einer Klasse
- Gar keine -
*ist ein Kommentar-ZeichenKommentare sehen in CSS so aus:
/* ... */
Was bewirkt das Komma im Selektor h1,h2,a { color: yellow; }?
- Eine Oder-Verknüpfung: ausgewählt werden alle
h1-, alleh2- und allea-Elemente - Eine Und-Verknüpfung: nur Elemente, die gleichzeitig
h1,h2undasindEin Element hat immer genau einen Tag-Namen - „gleichzeitig h1 und h2“ ist unmöglich.
- Es wählt
a-Elemente aus, die inh1oderh2verschachtelt sindFür Nachkommen verwendet man den Descendant Combinator: ein Leerzeichen, kein Komma.
- Das Komma ist ein Syntax-Fehler
In einem Dokument steht <nav id="menu">. Welche Aussage stimmt?
- Die ID
menudarf im Dokument beliebig oft vorkommenDas gilt für Klassen - jede ID darf nur einmal vorkommen.
-
#menuselektiert dieses Element, undseite.html#menuspringt als Textmarke dorthin - IDs können nur an
nav-Tags vergeben werden - Der passende Selektor lautet
.menuDer Punkt selektiert Klassen; für IDs verwendet man die Raute
#.
Welche Elemente wählt section a { color: yellow; } aus?
- Alle
a-Elemente, die Nachkommen einessection-Elements sind - Alle
section- und allea-ElementeDas wäre die Selector List mit Komma:
section, a. - Alle
section-Elemente, die einaenthaltensectionwird nur zur Auswahl benützt, aber selbst nicht ausgewählt. - Nur
a-Elemente, die direkte Kinder vonsectionsindDer Descendant Combinator (Leerzeichen) gilt für alle Nachkommen, nicht nur Kinder.
Was wählt .menu > a { color: yellow; } aus, im Vergleich zu .menu a { color: yellow; }?
- Genau dasselbe wie
.menu a->und Leerzeichen sind nur zwei Schreibweisen für dasselbeDer Child Combinator ist strenger als der Descendant Combinator.
- Nur
a-Elemente, die direkte Kinder von.menusind - tiefer verschachtelteas werden nicht getroffen - Nur das
.menu-Element selbst, falls es einaenthältDas wäre die Aufgabe von
:has(), nicht des Child Combinators. - Alle
a-Elemente im Dokument, unabhängig von.menu
Welche Aussage über display: inline-Elemente (z.B. <span>, <a>) stimmt?
-
widthundheightwirken genauso wie beidisplay: blockGenau umgekehrt: bei
inlinewerdenwidth/heightignoriert. - Sie fließen im Textfluss und beginnen keine neue Zeile
- Sie beginnen immer eine neue Zeile, genau wie
block-Elemente - Sie können nicht gestylt werden
Ein Element hat position: absolute, aber kein Vorfahre im Dokument hat position: relative (oder absolute/fixed/sticky) gesetzt. Wonach richtet sich die Positionierung?
- Das Element bleibt an seiner ursprünglichen Stelle im normalen Fluss stehen
Das wäre das Verhalten von
position: staticoderrelativeohnetop/left. - Relativ zum gesamten Dokument (praktisch: relativ zu
<html>) - Der Browser zeigt einen Fehler, weil kein Bezugsrahmen existiert
- Relativ zum direkten Elternelement, unabhängig von dessen
positionOhne passenden Vorfahren sucht der Browser weiter nach oben, bis zum Dokument.
Deshalb gilt die Faustregel „Absolute is relative to relative”: Ein position: relative-Elternelement ganz bewusst als Bezugsrahmen zu setzen, verhindert dieses Abrutschen zum ganzen Dokument.
Was unterscheidet :focus von :hover?
- Es gibt keinen Unterschied, beide Pseudo-Klassen greifen in denselben Situationen
-
:hoverreagiert auf die Maus (Cursor über dem Element),:focusauf den Eingabefokus - z.B. per Tab-Taste erreicht -
:focusfunktioniert nur bei<a>-TagsAuch Buttons und Formularfelder (
input,textarea,select) sind fokussierbar. -
:hoverwirkt dauerhaft,:focusnur für den Bruchteil einer SekundeDas beschreibt eher
:active-:focusbleibt aktiv, bis der Fokus woanders hin wechselt.
Quiz-Fortschritt
0 / 0 Fragen beantwortet (0%)
0 richtig
Quiz abgeschlossen!
0%
0 / 0 richtig
beantwortet: 0 / 0 (0%)
richtig: 0 / 0 (0%)