Skip to content

qotsa2002/Kurs_HTML5_CSS3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

HTML5

Tools / Infos

  • Live Server Extension für VS code
  • Emmet
    • html:5 -> vollst. Seitenstruktur
  • https://caniuse.com - testen von html Sprachelementen & Nutzungsdaten nach Browsern und Ländern

Grundstruktur

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

Core-Attribute

  • werden vererbt
    • lang
    • dir
  • nur für das Element
    • id - muss eindeutig sein
    • class - gleiche Werte in einem Dokument zulässig
    • title - wird als Tooltip angezeigt
  • ?
    • style

Elemente

  • <meta xxx="">
  • Blockelemente
    • h1, ..., h6
    • p
    • div (neutrales Element)
  • Inlineelemente
    • strong, statt b
    • em, statt i
    • span (neutrales Element)
  • Spezialelemente
    • script - lädt JS-Skript, blockierend, während Skript geladen wird
    • link - setzt referenz auf StyleSheet, nicht blockierend, möglichst weit oben

Neuerungen mit HTML5

Neue semantische Elemente

  • header, navigation, main, footer, aside, ...
  • werden von älteren Browsern nicht unterstützt -> modernizr.2.6.2.js
  • section - hierarchische Organisation des Dokumentes, Überschriften in sections immer h1!
  • article - "neben" der Dokumentstruktur stehende Informationsblöcke - styling über class-Angabe
  • video, iframe (Tipp: Einbettungscode kopieren)
  • Formulare:
    • Input-Types date, ...
    • label
    • tabindex als Attribut
    • pattern -> Prüfung erst bei Abschicken
    <label for="vn">Vorname:</label>  
    <input id="vn" type="text" name="vorname" required tabindex="1">
  • Auto-Validierung bei GET oder GET novalidate
  • placeholder attribute
  • type range
  • type date, datetime, ...
  • datalist bei type text, statt select/option (mehr Eingaben möglich)
  • output-Element -

Barrierefreiheit

  • "Komplexes Thema"
  • tabindex: erst die Inputs mit tabindex, dann die ohne Angabe.

CSS3

Selektoren

Priorität:

  • Spezifizität
    1. ID...
    2. Class... / Pseudo-Klassen... / Attribut...
    3. Type...
  • Reihenfolge

Spezifizität

Selektor ID Class Type
* (Universell) 0 0 0
p 0 0 1
.lightblue 0 1 0
#div1 1 0 0
p.yellow 0 1 1
a:hover (Zustand) 0 1 1
p:firstline (Struktur) 0 1 1
[title='...'] 0 1 0
[title=] 0 1 0
div p 0 0 2
div#div1_id p 1 0 2
div#div1_id > p 1 0 2
h1 + p 0 0 2

Konnektoren

  • + adjacent sibling
  • ~ all siblings
  • > children

strukturellen Pseudoklassen

  • :first-child
  • :last-child
  • :nth-child(even|odd) jedes gerade/ungerade Element
  • :nth-child(number) - das Element an Position number
  • :nth-child(n+2) - ab dem 2. Element alle
  • :nth-child(3n) - jedes 3. Element
  • :first-of-type

Layout-Modi

Flow-Layout

Standard-Layout

Box-Modell

  1. Inhalt (width, height)
  2. Padding
  3. Border
  4. Margin - mit Margin Merge - überlagern der Margins, der größere gewinnt; body margin geht nach innen!

Ränder & Schatten

  • border
  • border-radius
  • box-shadow
        #p1 {
            box-shadow: -5px -10px 5px darkgray; /* l(-)/r(+) t(-)/b(+) Verlauf */
        }
  • inset - Shadow nach innen
  • Listen von shadows - werden von rechts nach links "gemalt";

Hintergrund

  • background: url(special.gif); oder background-image: linear-gradient(155deg, 0%, red 100%);

Sichtbarkeit

        #p2 {
            background-color: rosybrown;
            _display: none; /* aus dem Flow herausnehmen */
            _visibility: hidden; /* unsichtbar, aber Layout bleibt erhalten */
            opacity: 0; /* 0 ... 1, Layout bleibt erhalten */
        }

Positionierung

position: ist im Flow ist positioniert
static x -
relative x x
absolute - x (relativ zum nächsten positionierten Parent)
fixed - x (relativ zum viewport)
sticky - x
  • float: left|right - um divs z.B. nebeneinander zu positionieren & clear: left|both|right um das nächste Element im Flow nach den gefloateten Elementen zu positionieren float.html und float02.html

Tablelayout

  • display: table; - optional, solange kein Zugriff auf die ganze Tabelle benötigt wird
  • display: table-row; - optional, solange nur eine Zeile benötigt wird
  • display: table-cell; - Element soll 1-n Zellen füllen

layout_03.html

Flexlayout

display:flex

Elemente im Flexcontainer richten sich aus nach:

Main Axis: links nach rechts

justify-content: flex-start; /* | flex-start | flex-end | center | ... */

Cross Axis: oben nach unten

align-items: center; /* | flex-start | flex-end | stretch (default) | ... */

Items haben

  • order - Reihenfolge festlegen
  • flex - relative Breite festlegen

layout_04.html

A Complete Guide to Flexbox

Gridlayout

display:grid

Es wird ein Gridtemplate definert, das Spalten un Zeilen festlegt

Margins werden nicht gemerged, sondern addieren sich

Von-/Bis-Angaben beziehen sich auf die (Trenn-)Linien der Zeilen und Spalten, d.h. bei 3 Spalten habe ich die Linien 1, 2, 3, 4

layout_05.html

https://developer.mozilla.org/de/docs/Web/CSS/CSS_Grid_Layout

Transitions

Gesteuertes Umschalten von einer Darstellung zu einer anderen.

Beispiel - Breite, Höhe, Farbe beim Übergang eine Sekunde lang ändern:

        .box:hover {
            width: 100px;
            height: 100px;
            background-color: yellow;
            transition: width 1s, height 1s, background-color 1s; /* = all 1s */
        }

Angabe: Attribut Dauer [Verzögerung]

Panels ein-/ausblenden

panels01.html

schublade.html

schublade02.html

Navigation bauen

NavigationVertikal.html

NavigationHorizontal.html

NavigationVertikal02.html

Style von c anpassen, wenn Hover über Parent-Element b von c:

a b:hover c { ... }

Mediaqueries

mediaqueries01.html

Hinweise

https://www.rechnerhaus.de/blog/unterschied-zwischen-css-scss-sass

https://scotch.io/tutorials/using-sass-with-the-angular-cli

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published