62
YAML 4 - Rapid Prototyping mit HTML und CSS

Einführung in YAML4

Embed Size (px)

DESCRIPTION

Ein Einblick in die neuen Konzepte von YAML4.

Citation preview

Page 1: Einführung in YAML4

YAML 4 - Rapid Prototyping mit

HTML und CSS

Page 2: Einführung in YAML4

‣Frontendentwickler

‣10 Jahre Agenturerfahrung

‣12 Jahre Arbeit im und fürs Web

‣Gründer der Webkrauts

‣Blogger

‣Autor für: PHPMagazin, PHPUser, T3N,Webstandards-Magazin

‣Fachliche Buchbetreuung bei Galileo, O'Reilly, MuT

Jens Grochtdreis

Page 3: Einführung in YAML4

Kann YAML4 mit HTML5 und CSS3 umgehen?

Page 4: Einführung in YAML4

Klar!Warum nicht?

Page 5: Einführung in YAML4

In der basemod.css

Page 6: Einführung in YAML4

Drei grundlegende Neuerungen

Page 7: Einführung in YAML4

Neue Klassennamen

1

Page 8: Einführung in YAML4

Alle mit Namespace ym- !

Page 9: Einführung in YAML4

‣ Viele CMSe vergeben eigene Klassen, die sich mit YAML3 überschnitten haben.

‣ Bspw. Wordpress vergibt .page als Body-Klasse.

‣ So werden Kollisionen vermieden.

‣ Ein Umstieg von YAML3 auf YAML4 ist so erst bei einem neuen Projekt ratsam.

‣ Der YAML3-Zweig wird weitergepflegt.

Page 10: Einführung in YAML4

Aus IDs werden Klassen!

2

Page 11: Einführung in YAML4

‣ Mehrfachverwendung von Layoutelementen

‣ IDs freigeben für Applikation (JavaScript etc.), die Framework-Logik steht mit den Klassen in der zweiten Reihe.

Page 12: Einführung in YAML4

Formular-Grundlagen wandern in die base.css

3

Page 13: Einführung in YAML4

Die Basis-Styles für Formulare und Druck sind in die Kern-Dateien gewandert.

Formularoptik in eigenen Theme-Dateien

Page 14: Einführung in YAML4

Normalisierung bleibt

Page 15: Einführung in YAML4
Page 16: Einführung in YAML4

Da steht Reset, es ist aber mehr eine Normalisierung

Page 17: Einführung in YAML4

Die Inhalte der base.css

Page 18: Einführung in YAML4
Page 19: Einführung in YAML4

Seitenstruktur

Page 20: Einführung in YAML4

‣ Immer eine Wrapper-Klasse und eine für Innenabstände (altes Boxmodell)

‣ Ein Buchstabe bei ym-*box zeigt auf das Modul

‣ ym-wbox: Wrapper-Modul

‣ ym-cbox: Column-Modul

‣ ym-gbox: Grid-Modul

‣ ym-fbox: Formular-Modul

Page 21: Einführung in YAML4

‣ Das Wrapper-Modul umgibt alles, Spalten (Columns), Grids und Formulare können frei verschachtelt werden.

‣ Hier benötigt man immer wieder unterschiedliche Randabstände zur Ausrichtung. Daher jeweils eine Klasse pro Modul.

‣ Mit dem CSS3 Border-Box-Modell kann die jeweils entfallen.

Page 22: Einführung in YAML4

Das Layout-Wrapper-Modul

Page 23: Einführung in YAML4

‣ Das Layout-Wrapper-Modul umschließt einen Seitenbereich und definiert dessen minimale und maximale Breite

‣ Die *box-Klassen sind für flexible Layouts auf CSS2-Basis zwingend notwendig, um stressfrei layouten zu können.

Page 24: Einführung in YAML4

‣ #page_margins und #page

‣ In der basemod.css definiert

‣ Nicht mehrfach anwendbar

YAML3

Page 25: Einführung in YAML4

Das Column-Modul

Page 26: Einführung in YAML4

‣ Das Column-Modul ermöglicht die horizontale Gliederung eines Inhaltsbereiches in 2 oder 3 Spalten, dessen Breiten in beliebigen Einheiten [px,em, %] definiert werden können und dessen Reihenfolge per CSS frei definierbar ist.

‣ Die *box-Klassen sind für flexible Layouts auf CSS2-Basis zwingend notwendig, um stressfrei layouten zu können.

Page 27: Einführung in YAML4
Page 28: Einführung in YAML4
Page 29: Einführung in YAML4

‣ Können überall genutzt und auch verschachtelt werden

‣ Innerer Container ist optional

‣ Innerer Container hat Ausrichtungseigenschaft wie bei den Subcolumns/Grids

Page 30: Einführung in YAML4
Page 31: Einführung in YAML4

YAML3

Page 32: Einführung in YAML4

Das Grid-Modul

Page 33: Einführung in YAML4
Page 34: Einführung in YAML4

YAML4 YAML3

Page 35: Einführung in YAML4

‣ Die Breitendefinition ist von den restlichen Regeln getrennt.

‣ Dadurch können schnell neue Grids erstellt werden.

‣ Neue Grids werden nur an einer Stelle definiert, nicht wie früher an zwei!

‣ Es gibt keine gleichen Breiten mit unterschiedlichen Floatrichtungen mehr!

‣ Mehrere Klassen auf einem Element, dafür einfacher erweiterbar als früher!

Page 36: Einführung in YAML4
Page 37: Einführung in YAML4
Page 38: Einführung in YAML4

Floats einfassen

Page 39: Einführung in YAML4
Page 40: Einführung in YAML4

Warum so viele Methoden?

‣ Es gibt kein "bestes" Float-Containing. Jedes hat seine Vorteile und Anwendungsgebiete

Page 41: Einführung in YAML4

‣ overflow:hidden schneidet eingeschlossene Inhalte ab, vor allem auch CSS-Schatten und Outlines von Child-Elementen.

Page 42: Einführung in YAML4

‣ display:table - eigentlich perfekt, erlaubt im FF allerdings parallel keine relative Positionierung.

Page 43: Einführung in YAML4

‣ float:left - Alternative für display:table, vorwiegend wegen Support älterer Browser.

Page 44: Einführung in YAML4

versteckte Inhalte

Page 45: Einführung in YAML4
Page 46: Einführung in YAML4
Page 47: Einführung in YAML4
Page 48: Einführung in YAML4

Eigene Subcolumns

Page 49: Einführung in YAML4
Page 50: Einführung in YAML4

YAML3

Page 51: Einführung in YAML4
Page 52: Einführung in YAML4

/** * (en) IE-Adjustments for content columns and subtemplates * @see iehacks.css in yaml/core for more comments */

.c1-9l, .c15-9l, .c2-9l, .c3-9l, .c4-9l, .c5-9l, .c6-9l, .c7-9l, .c8-9l, .c1-9r, .c2-9r, .c3-9r, .c4-9r, .c5-9r, .c6-9r, .c7-9r, .c8-9r {display: inline;}

.equalize .c1-9l, .equalize .c15-9l, .equalize .c2-9l, .equalize .c3-9l, .equalize .c4-9l, .equalize .c5-9l, .equalize .c6-9l, .equalize .c7-9l, .equalize .c8-9l {float:left; display:inline; padding-bottom:32767px; margin-bottom:-32767px;} .equalize .c1-9r, .equalize .c2-9r, .equalize .c3-9r, .equalize .c4-9r, .equalize .c5-9r, .equalize .c6-9r, .equalize .c7-9r, .equalize .c8-9r { float:right; margin-left:-5px; display:inline; padding-bottom:32767px; margin-bottom:-32767px;}

.no-ie-padding .c1-9l, .no-ie-padding .c15-9l, .no-ie-padding .c2-9l, .no-ie-padding .c3-9l, .no-ie-padding .c4-9l, .no-ie-padding .c5-9l, .no-ie-padding .c6-9l, .no-ie-padding .c7-9l, .no-ie-padding .c8-9l, .no-ie-padding .c1-9r, .no-ie-padding .c2-9r, .no-ie-padding .c3-9r, .no-ie-padding .c4-9r, .no-ie-padding .c5-9r, .no-ie-padding .c6-9r, .no-ie-padding .c7-9r, .no-ie-padding .c8-9r {padding-bottom:0; margin-bottom:0;}

Im Patchfile für den IE

Page 53: Einführung in YAML4

YAML4

Page 54: Einführung in YAML4

Ohne separate IE-Styles!

Page 55: Einführung in YAML4

Formulare

Page 56: Einführung in YAML4

‣ Die Basis-Regeln für ein verletzungsfreies Arbeiten mit Formularen sind in die base.css gewandert.

‣ Die Optik wird nun durch eine separate Theme-Datei bestimmt.

‣ Drei Themes liegen bei. Zum Einsatz wie zur Ansicht für Eigenentwicklungen geeignet.

‣ Einfache Formulare sind so in Windeseile erstellt.

Page 57: Einführung in YAML4

ftheme-standard.css

Page 58: Einführung in YAML4

ftheme-simple.css

Page 59: Einführung in YAML4

ftheme-green.css

Page 60: Einführung in YAML4

Eigenentwicklungen

Page 61: Einführung in YAML4

Twitter: @Flocke

Slideshare: Flocke669

Page 62: Einführung in YAML4

Jens Grochtdreishttp://grochtdreis.de

http://twitter.com/Flockehttp://webkrauts.de

http://slideshare.net/Flocke669

Diese Präsentation steht unter der Creative Commons Lizenz „Attribution-ShareAlike 2.0“ http://creativecommons.org/licenses/by-sa/2.0/de/