Skip to content

AmyraRadwan/Pseudo-Class-Party

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🥳 Pseudo-Party

Heute werden wir mit Pseudo-Klasses stylen... yay!

Das Tagesziel:

  1. Pseudo-Input

  2. Pseudo-Index

  3. Aufgabe - "Hey, I'm a graphic designer ..."

Auf geht's!

1. Pseudo-Input

😵‍💫 Was sind Pseudo-Klassen?

CSS Pseudo-Klassen sind Keywords mit einem Doppelpunkt davor, die sich auf bestimmte Zustände von Elementen beziehen. Bei :hover wird z.B. ein Maus abhängiger Zustand angesprochen. Pseudo-Klassen bestehen aus einem Doppelpunkt : gefolgt von einem Namen (z.B., :hover).

Syntax

selector:pseudo-class {
  property: value;
}

Es gibt funktionale Pseudo-Klassen mit Klammern dahinter die Argumente enthalten (z.B., :dir()). Das Element auf das sich die Pseudo-Klasse bezieht nennt man anchor element (z.B., button bei button:hover).

Mit Pseudo-Klassen lassen sich nicht nur Elemente in Relation zum inhaltlichen HTML Dokumentaufbau stylen sondern auch in Relation zu externen Faktoren wie die Interaktion von Nutzer*innen (z.B., :visited), den Status des Inhalts (z.B., :checked) oder die Position der Maus (z.B., :hover).

😵‍💫 Was sind Pseudo-Elemente?

CSS Pseudo-Elemente sind Keywords die zu einem Selektor hinzugefügt werden um damit einen speziellen Teil des Elements zu stylen. ::first-line z.B. wird benutzt um die erste Zeile eines Paragraphen zu stylen. Pseudo-Elemente bestehen aus zwei Doppelpunkten :: gefolgt von dem Namen (z.B., ::marker).

Syntax

selector::pseudo-element {
  property: value;
}

Die ersten Pseudo-Klassen wurden 1996 mit CSS1 herausgebracht. Pseudo soll hier soviel bedeuten wie falsch, unreal, oder fake. Der Prefix Pseudo- wird somit verwendet um Klassen und Elemente zu referenzieren die nicht "real" sind. Nicht real bedeutet in dem Kontext nicht Teil des DOM (Document Object Model) sondern virtuell erzeugte Elemente/Klassen die nur zu styling Zwecken kreiert werden.

2. Pseudo-Index

✨ Tolle Pseudo-Klassen

Sorry, für zu faul. Hier der Link zum nachlesen: MDN Web Docs: Pseudo-Klassen

✨ Tolle Pseudo-Elemente

::before

Mit ::before wird ein Pseudo-Element erstellt, das als first-child des Selektor-Elements fungiert. Es wird häufig verwendet, um einem Element mit der Eigenschaft content kosmetische Inhalte hinzuzufügen. Es ist standardmäßig ein Inline-Element.

Beispiel:

.class::before {
    content: "💥";
}

::after

Mit ::after wird ein Pseudoelement erstellt, das als last-child des Selektor-Elements fungiert. Es wird häufig verwendet, um einem Element mit der Eigenschaft content kosmetische Inhalte hinzuzufügen. Es ist standardmäßig Inline-Element.

Beispiel:

.class::after {
    content: "✋";
}

::first-letter

Das ::first-letter Pseudo-Element wendet Stile auf den ersten Buchstaben der ersten Zeile eines Block-Elements an, jedoch nur, wenn kein anderer Inhalt (wie Bilder oder Inline-Tabellen) vorangestellt ist. Da es sich um ein Inline-Text Pseudo-Element handelt können nur bestimmte Properties damit gestyled werden.

Beispiel:

p::first-letter {
    font-size: 2em;
    line-height: 2.5em;
    float: left;
}

::first-line

Das ::first-line Pseudo-Element wendet Stile auf die erste Zeile eines Block-Elements an. Es ist standardmäßig ein Inline-Element. Da es sich um ein Inline-Text Pseudo-Element handelt können nur bestimmte Properties damit gestyled werden.

Beispiel:

p::first-line {
    font-weight: 900;
}

::marker

Mit dem ::marker Pseudo-Element lassen sich die standardmäßigen Symbole der Listenelemente <li> auswechseln. Es funktioniert bei allen Elementen die auf display: list-item eingestellt sind (standardmäßig z.B., <li> und <summary> Elemente). Nur bestimmte Properties lassen sich mit ::marker stylen.

Beispiel:

li::marker {
    content: '✝';
    font-size: 1.2em;
}

::selection

Mit dem ::selection Pseudo-Element lassen sich die Farben der von Benutzer*innen markierten Stellen eines Elements (z. B. durch klicken und ziehen der Maus über den Text) stylen. Nur bestimmte Properties lassen sich mit ::selection stylen: color, background-color, text-decoration, text-shadow, -webkit-text-stroke-color, -webkit-text-fill-color and -webkit-text-stroke-width.

Beispiel:

p::selection {
    color: red;
    background-color: yellow;
}

3. Aufgabe - "Hey, I'm a graphic designer ..."

📄 Aufgabenstellung

Wir beschäftigen uns heute mit dem für Portfolio Seiten klassischen Phänomen der "About Me" Webseiten. Seit es soziale Netzwerke wie Frienster, StudiVZ, MySpace und LinkedIn gibt, geht es im WWW verstärkt darum Profile mit persönlichen Daten auszuschmücken, um die Außenwirkung zu pflegen. Dieses Konzept findet sich auch auf vielen Portfolio-Webseiten, bei denen es primär darum geht, sich selbst zu vermarkten und darzustellen. Eine beliebte und simple Methode, die sich tausendfach anwenden lässt und meistens mit dem Satz: "Hey, I'm a graphic designer ..." beginnt. Heute coden wir so eine tolle Freundebuch-Style-Webseite selbst und setzen dabei alle Pseudo-Klassen und Elemente ein, die wir kennen.

Pic

  1. Ladet euch hier die Vorlage herunter
  2. Füllt die Vorlage nach Belieben mit euren eigenen Inhalten. Fügt gerne weiteres hinzu und löscht unnötiges heraus
  3. Nutzt die gelernten Pseudo-Klassen und Elemente, um User-Interaktion und kleine Spielereien einzubauen. Wenn ihr unsicher mit der Syntax oder Funktionalität seit schaut hier im Repro nach oder fragt einfach
  4. Um 12.30 Uhr machen wir eine schnelle Präsentation der Ergebnisse
  5. Ladet euch hier meine fertige Datei herunter zur Auflösung von Problemen oder zum nachschlagen/schauen für später

💡 Beispiele & Ressourcen

  1. Beispiele

  2. Ressourcen

Releases

No releases published

Packages

No packages published