Att göra stilmallar smarta

58
SMARTA STILMALLAR Frontendarens förlängda arm (och nördiga utlopp)

description

Pelle Wessman, Valtech Vore det inte underbart om stilmallar höll koll på att en design implementeras konsekvent? Att de höll koll så att inga snedtramp vad gäller tillgänglighet sker? Att de ger en hjälpande hand när utvecklaren undrar hur en design ska tolkas? Med SassScript blir smarta stilmallar möjligt. Pelle kommer gå igenom några vis som det kan hjälpa ditt projekt.

Transcript of Att göra stilmallar smarta

Page 1: Att göra stilmallar smarta

SMARTA STILMALLARFrontendarens förlängda arm (och nördiga utlopp)

Page 2: Att göra stilmallar smarta

SMARTA STILMALLAR GER BRA DESIGN

Page 3: Att göra stilmallar smarta

TESER OM BRA DESIGN:

Page 4: Att göra stilmallar smarta

1. BRA DESIGN ÄR KONSEKVENT

Att följa en stilguide – det kan väl alla?

Page 5: Att göra stilmallar smarta

2. BRA DESIGN ÄR TILLGÄNGLIG

Färgkontrast – för fejjan i solen är ett måste

Page 6: Att göra stilmallar smarta

3. BRA DESIGN ÄR SNYGGA FÄRGER

Vi vet alla att magenta är den heliga gralen

Page 7: Att göra stilmallar smarta

4. BRA DESIGN ÄR MATEMATIK

Utan exponenter och annat mys fäller vi alla en tår

Page 8: Att göra stilmallar smarta

ALLTSÅ:HUR SVÅRT KAN

BRA DESIGN VARA?

Page 9: Att göra stilmallar smarta

JÄTTESVÅRT

Page 10: Att göra stilmallar smarta

LÖSNINGEN HETER

Page 11: Att göra stilmallar smarta

LÖSNINGEN HETER

SassScript

Page 12: Att göra stilmallar smarta

”SassScript is code that’s embedded in Sass documents to allow for property values to be computed from variables.”

–Sass-dokumentationen !!!

”SassScript, a simple scripting language used in Sass files”

–Wikipedia

Page 13: Att göra stilmallar smarta

HUR KAN STILMALLAR BLI SMARTA?

Page 14: Att göra stilmallar smarta

TRE TIPS FRÅN MINA BYGGEN

och något lite nördigt

Page 15: Att göra stilmallar smarta

1. Konsekventa färger

2. Tillgängliga färger

3. Svårtolkade färger

Page 16: Att göra stilmallar smarta

VEM ÄR JAG?

• Pelle Wessman, @voxpelli

• Full-stack webbkodare sedan +7 år

• Valtech Malmö

Page 17: Att göra stilmallar smarta

1. KONSEKVENTA FÄRGER

Smarta stilmallar som ger konsekventa knappar

Page 18: Att göra stilmallar smarta

HÄRRÖRA FÄRGER

• Att utgå från enbart en färg:

@include button-color($baseColor);

• Snarare än att definiera dem alla:

@include button-color($top, $bottom, $border, $font);

mixin

Page 19: Att göra stilmallar smarta

HSV TILL HSL• HSV = HSB = Hue,

Saturation, Value/Brightness

• Används av Photoshop • Kan beroende på design

vara nyckeln till variationer inom ett designelement

Page 20: Att göra stilmallar smarta
Page 21: Att göra stilmallar smarta
Page 22: Att göra stilmallar smarta

ch_hsv_to_color()Matematisk – ladda ner bibliotek eller googla formel

Page 23: Att göra stilmallar smarta

RESULTAT

@include button-color(#9fcb56);

@include button-color(#c6c250);

@include button-color(#9fcb56);

Page 24: Att göra stilmallar smarta
Page 25: Att göra stilmallar smarta

2. TILLGÄNGLIGA FÄRGER

Smarta stilmallar som ger läsliga knappar

Page 26: Att göra stilmallar smarta

MÄTA KONTRAST

• Matematiskt • Lea Verou: http://

leaverou.github.io/contrast-ratio/

• WCAG 2.0 riktlinjer

Page 27: Att göra stilmallar smarta

KONTRASTVARNING

Page 28: Att göra stilmallar smarta
Page 29: Att göra stilmallar smarta
Page 30: Att göra stilmallar smarta

Ingen varning:@include button-color—contrast-alert(#9fcb56);

Varning:@include button-color—contrast-alert(#000);

Page 31: Att göra stilmallar smarta

VÄLJ BÄST KONTRAST

Page 32: Att göra stilmallar smarta

@include button-color—contrast(#9fcb56);

@include button-color—contrast(#666);

Page 33: Att göra stilmallar smarta
Page 34: Att göra stilmallar smarta

3. SVÅRTOLKADE FÄRGER

Page 35: Att göra stilmallar smarta

Vilken nivå på transparens?

Vilken färg?

Bild: Pen Waggener, https://flic.kr/p/6FiXXp

Page 36: Att göra stilmallar smarta

KLURA UT TRANSPARENS

1. Plocka ut färger ur bilden

2. Räkna ut blandningen som krävs för resultatet

3. Få transparensen som resultat

Page 37: Att göra stilmallar smarta

$alpha: ch_calculate_alpha(#FFF, #526D4E, #DFE4DF);

Page 38: Att göra stilmallar smarta

KLURA UT FÄRG1. Använd den uträknade transparensen

2. Plocka ut nya färger ur bilden

3. Räkna ut nya blandningen som krävs för resultatet

4. Få färgen som resultat

Page 39: Att göra stilmallar smarta

$color: ch_calculate_top_color($alpha, #BEDBA1, #89D338);

Page 40: Att göra stilmallar smarta

background: rgba(255, 255, 255, 0.816)

background: rgba(125, 209, 32, 0.816)

Page 41: Att göra stilmallar smarta

Bild: Pen Waggener, https://flic.kr/p/6FiXXp

Page 42: Att göra stilmallar smarta

SassScripts BEGRÄNSNINGAR

Page 43: Att göra stilmallar smarta

• Enkelt standardbibliotek – innehåller bara det absolut mest basala

• Avancerade matematiska funktioner saknas

Page 44: Att göra stilmallar smarta

PROBLEM = MÖJLIGHETER

Page 45: Att göra stilmallar smarta

APPROXIMATIVA DECIMALEXPONENTIALER

en stillektion i matematik på tunn is

Page 46: Att göra stilmallar smarta

x2.4 = ?

Page 47: Att göra stilmallar smarta

x2.4 = x12 / 5Största gemensamma delare

http://rosettacode.org/wiki/Greatest_common_divisor

Page 48: Att göra stilmallar smarta

x1 / 5 =5√x

Page 49: Att göra stilmallar smarta

x12 / 5 =(x12)1 / 5

Page 50: Att göra stilmallar smarta

x12 / 5 =5√(x12)

Page 51: Att göra stilmallar smarta

x12 / 5 =5√(x12)Principalgrenen av n:te roten (isen börjar bli tunn nu)

http://rosettacode.org/wiki/Nth_root

Page 52: Att göra stilmallar smarta

x2.4 =5√(x12)

Page 53: Att göra stilmallar smarta

LÖSNING AV APPROXIMATIVA DECIMALEXPONENTIALER

• Algoritm, största gemensamma delare

• for-loop

• Algoritm, principalgrenen av n:te roten

Page 54: Att göra stilmallar smarta

…eller så laddar man hem ett bibliotek

Page 55: Att göra stilmallar smarta

VARFÖR INTE RUBY?

• Slipper externa beroenden

• Valfrihet av kompilator (ex. libsass)

Page 56: Att göra stilmallar smarta

GÖR STILMALLAR SMARTA

Stilmallarna ska hjälpa dig jobba och tänka Hindra dig från misstag och lyfta dig till nya höjder

Page 57: Att göra stilmallar smarta

bower install sass-color-helpers —save !

https://github.com/voxpelli/sass-color-helpers

Page 58: Att göra stilmallar smarta

TACK!Presentatör: Pelle Wessman

På sociala webben: @voxpelli

På indiewebben: voxpelli.com

På jorden: Malmö Disclaimer: Designtipsen i denna presentationen är till för att visa på en poäng och bör ej tas på alltför stort allvar :)