Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT....

42
Beautify your APEX Alexej Schneider DOAG 2016

Transcript of Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT....

Page 1: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Beautify your APEX

Alexej Schneider

DOAG 2016

Page 2: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Im Überblick

Technologie-orientiert

Branchen-unabhängig

Hauptsitz

Ratingen240

Beschäftigte

Gründungsjahr

1994

Niederlassung

Frankfurt am MainAusbildungs-

betrieb

Inhabergeführte

Aktiengesellschaft

Zertifizierter

Partner von

Oracle,

Microsoft

und SAP

Page 3: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Weitere Vorträge am 17.11.

Page 4: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Bachelor Angewandte Informatik

Oracle APEX Berater

Vorher: Webdesign/Webentwicklung

Schwerpunkte:

APEX (SQL/PLSQL)

Front-End (HTML/CSS/JS)

Mobile

UI/UX

Page 5: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Beautify your APEX

Page 6: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

APEX 5: Universal Theme

Theme 42: Die Lösung aller Probleme

Universal Theme ist modern

Universal Theme ist responsive

Deklarativ anpassbar durch

Theme Roller

Templates

Template Options

….wozu dann überhaupt anpassen??

Motivation

Beautify your APEX

Page 7: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Anforderungen können sein: Spezielles Corporate Design

Benötigte Web-Elemente implementieren

Anforderungen vom Management, Fachabteilung etc.

APEX im Internet

….

(Komplett neues Theme designen)

…nicht so universell wie gedacht

Beautify your APEX

Page 8: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Vortrag: Kein neues Theme designen

Universal Theme Erweitern

customizing

UT

Page 9: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Werkzeuge

Page 10: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Benötigte Werkzeuge

CSS

HTML

JS

Design

UX Webentwicklung

Page 11: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

HyperText Markup Language

Definiert die Struktur

Die Bausteine von Webanwendungen

Cascading Style Sheets

Definiert die Darstellung

Wie sollen die Bausteine aussehen

Verstehen und anwenden

HTML + CSS

Klare Trennung zwischen Struktur und Darstellung!

Page 12: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

HTML:

<div class=„DOAG“>CSS is awesome</div>

CSS:

.DOAG {

width: 400px;

height: 400px;

text-transform: uppercase;

border: 10px #000000 solid;

font-family: helvetica;

font-weight: bold;

font-size: 155px;

line-height: 132px;

}

Verstehen und anwenden

HTML + CSS

Page 13: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

.DOAG {width: 400px; height: 400px;}

Der Standardaufbau

CSS

property value property valueselector

Page 14: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Layouting

CSS

Page 15: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Layouting (Boxen verschachteln)

CSS

Page 16: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Layouting (Boxen verschachteln)

CSS

Page 17: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Chrome Developer Tools

Box Model (Schachtel)

CSS

Beispiel: CSS is awesome

width

height

content

Page 18: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

display: block

Beispiel: <div>

Erscheint in neuer Zeile

Breitet sich auf 100% aus

„Der“ Baustein von Webseiten

display: inline

Beispiel: <span>

Erscheint nicht in neuer Zeile

Breitet sich nicht auf 100% aus

Benutzt für Textformatierung

weitere hilfreiche: None, list-item, flex, inline-block

Boxen ordnen (CSS-Property: display)

CSS

Page 19: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

PL/SQL Region liefert HTML-Gerüst

HTML-Tags haben Klassen

CSS-Selektoren über Klassen

CSS beinhaltet

Anordnung

Abstände (Box Model)

Textformatierung

Farben

Layout: APEX Connect 2016 Programm

CSS Beispiel

display: inline-block

display: block

display: block

display: block

->block (float: left)

Page 20: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

static

Dafault

relative

fixed

absolute

Property: position

CSS

Ich bin default

Ich auch

Ich bin relative (left: 100px)

Ich bin „fixed“ und behalte meine Position

beim scrollen (top: 0; right: 0)

Ich bin default Ich bin absolute

(top: 0; right: 0)

Page 21: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Einfache Selektoren:

.class Alle Elemente mit dem Klassennamen .doag{style} <div class=”doag”>

Element Alle gewünschten Elemente div{style} <div>

#id Alle Elemente mit der ID #doag{style} <div id=”doag”>

* Alle Elemente * {style} <body><div><a>

Kombinatoren:

Nachfahrenselektor E F {…}

Kindselektor E > F {…}

Nachbarselektor E + F {…}

Geschwisterselektor E ~ F {…}

Einfache Selektoren

Selektoren

Page 22: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Attributseletkoren

[a] Alle Elemente die das Attribut besitzen

[a=‘v‘] Alle Elemente mit dem exakten Attribut/Wert

[a~=‘v‘] Attribute die eine Zeichenkette enthalten (Durch Leerzeichen getrennt)

[a|=‘v‘] Attribute die mit einer Zeichenkette anfangen (Durch Bindestrich getrennt)

[a^=‘v‘] Attribute die mit einer Zeichenkette anfangen

[a$=‘v‘] Attribute die mit einer Zeichenkette enden

[a*=‘v‘] Attribute die eine Zeichenfolge beinhalten

Gibt noch weitere Seleketoren: Pseudoelemente/Pseudoklassen

Es gibt viel mehr als nur .class und #id

Selektoren

Page 23: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Warum springt mein Selektor nicht an???

!important...letzter Ausweg?

Page 24: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

* /* A=0, B=0, C=0, D=0, Spezifität 0 0 0 0 */

h1 /* A=0, B=0, C=0, D=1, Spezifität 0 0 0 1 */

ul li /* A=0, B=0, C=0, D=2, Spezifität 0 0 0 2 */

a::after /* A=0, B=0, C=0, D=2, Spezifität 0 0 0 2 */

p:first-child /* A=0, B=0, C=1, D=1, Spezifität 0 0 1 1 */

a:not([href]) /* A=0, B=0, C=1, D=1, Spezifität 0 0 1 1 */

ul.nav [href] /* A=0, B=0, C=2, D=1, Spezifität 0 0 2 1 */

#author /* A=0, B=1, C=0, D=0, Spezifität 0 1 0 0 */

#editor p /* A=0, B=1, C=0, D=1, Spezifität 0 1 0 1 */

style="" /* A=1, B=0, C=0, D=0, Spezifität 1 0 0 0 */

Reihenfolge der Regeln

Cascading Order

Page 25: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Unterschiedliche Ausgabemedien steuern

Media query

Page 26: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Unterschiedliche Ausgabemedien steuern

Media query

Page 27: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Gruppieren:

@media only screen and (max-width: 550px) {

.class1 {…}

.class2 {…}

#id1 > .class1 {…}

}

Abhängig vom Medium:

Ein-/Ausblenden von Elementen

Schriftgröße anpassen

Padding/Margin/Width ändern

APEX-Grids manipulieren

(Gibt auch ein spezielles „Print“-media-Query)

Unterschiedliche Ausgabemedien steuern

Media query

Page 28: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Zahlreiche neue „Features“

Unterteilt in Module

Unterschiedlicher Entwicklungsstand

Und Browserunterstützung

Candidate Recommendation (CR)

Nicht alle brauchen vendor perfixes

z.B.:

-webkit- (Chrome, Safari)

-moz- (Firefox)

-o- (Old versions of Opera)

-ms- (Internet Explorer)

Allgemein

CSS3

Page 29: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Selectors Level 3

Color Module Level 3

Media Queries

Web Fonts

Gradients

Shadows

Round Corners

New Features

CSS3

2D/3D Transforms

Animations

Text (Overflow, Wraping, Word Breaking)

Filter

calc()

Transitions

Page 30: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Automatische Animation bei CSS-Wertänderung

Farbe

Größe

Position

.beispiel {

transition: [transition-property] [transition-duration]

[transition-timing-function] [transition-delay];

}

div { transition: background-color 0.5s ease; background-color: red; }

div:hover { background-color: green; }

Transition

CSS3

Page 31: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Quelle: http://www.cssmatic.com/box-shadow

Shadow

CSS3

Page 32: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Quelle: http://www.cssmatic.com/box-shadow

Border

CSS3

Page 33: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Quelle: http://www.colorzilla.com/gradient-editor/

Gradients

CSS3

Page 34: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Quelle: http://css3gen.com/text-shadow/

Text-Shadow

CSS3

Page 35: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Blur

Brightness

Contrast

Grayscale

Hue Rotate

Ivert

Opacity

Saturate

Sepia

Filter

CSS3

Quelle: http://www.cssreflex.com/css-generators/filter/

Page 36: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

„Erfahrungsbericht“

Page 37: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

APEX Nach Corporate Design

E-Mails in APEX zusammenstellen

Header ändern

Texte ändern per WYSIWYG-Editor

Bilder hinzufügen

Automatische Generierung

Continuous integration

Off-Topic: E-Mail-Tempaltes gestalten

Code like it‘s 1999

E-Mails gestalten mit APEX (4.2.6)

Erfahrungsbericht

Page 38: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

E-Mails gestalten mit APEX

Erfahrungsbericht

Page 39: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

E-Mails gestalten mit APEX

Erfahrungsbericht

Page 40: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Extern auf Webserver

Eigene Templates erstellen

Page 0 Statische Region <style>CSS-CODE</style>

Nur auf bestimmten Seiten

Theme Roller CSS-Region

Shared Objects

Inline in HTML <tag style=„CSS-CODE“>

In „deklarativen“ APEX Spalten

Inline, oder über Klassen

Aus SQL oder PL/SQL heraus

Inline, oder über Klassen

In APEX

CSS speichern

Page 41: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Developer Tools - Developer Tools - Developer Tools

Klassen verwenden

Content != Design

Tabellen sollten nicht zum Layouting benutzt werden

!important meiden

Richtige Selektoren verwenden

Namenskonventionen einführen

CSS-Code Sinnvoll Strukturieren

Inline-CSS meiden

/* Kommentieren kann man in auch in CSS */

Googeln: „css best practices“

Lesbarkeit und Wartbarkeit fördern

Best pracstice

Page 42: Alexej Schneider DOAG 2016 Kein neues Theme designen Universal Theme Erweitern customizing UT. Werkzeuge. Benötigte Werkzeuge CSS HTML JS ... Page 0 Statische Region CSS-CODE

Alexej Schneider

Telefon: +49 2102 30961 – 0

[email protected]

ROADSHOW

„VON FORMS NACH APEX“

24.01.2017 Hamburg

25.01.2017 Düsseldorf

26.01.2017 Frankfurt

27.01.2017 München