42
Beautify your APEX Alexej Schneider DOAG 2016

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

Embed Size (px)

Citation preview

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