SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
ITCSS
ŠKÁLOVATELNÁ CSS
ARCHITEKTURA
ADAM KUDRNA { WEBINÁŘ VZHŮRU DOLŮ 3. 6. 2020 }
ADAM KUDRNA
◾ Consultant User Interface Engineer
◾ mentoring a vývoj udržitelného a škálovatelného CSS
◾ JavaScript (React), PHP (Twig, Smarty, Latte)
MasterShop
◾ AUTOR METODIKY: HARRY ROBERTS
(@CSSWIZARDRY)
PROBLÉMY
CSS
ITCSS
◾ architektura pro velké CSS
◾ škálovatelná
◾ metodika, ne knihovna
◾ framework pro frameworky
PŘEKVAPUJÍCÍ
JEDNODUCHOST
PROBLÉMY S CSS
◾ Nedostatky CSS
◾ Nedostatky vývojářů
NEDOSTATKY CSS
◾ kaskáda a dědičnost
◾ velká volnost
◾ závislost na pořadí v kódu
◾ specificita
NEDOSTATKY VÝVOJÁŘŮ
◾ dokumentace
◾ struktura
◾ malá obeznámenost s CSS nebo i se samotným
projektem
◾ individuální preference
◾ nezohlednění toho, co již existuje
CSS: OBŘÍ STROM ZÁVISLOSTÍ
ZPŮSOBY ORGANIZACE CSS
◾ podle designu
◾ tématické bloky – typografie,
formuláře, tlačítka, …
◾ … prostě to dám na konec
UNDOING CSS: PSANÍ NOVÉHO CSS
PRO VYRUŠENÍ EXISTUJÍCÍHO CSS
SPECIFICITA JE MOCNÁ (KOMPLIKACE)
◾ i s promyšleným pořadím v kódu
◾ i s promyšleným využitím kaskády
◾ i s jakoukoli metodikou pro
pojmenování (BEM, SUIT CSS, …)
GRAF SPECIFICITY
◾ HTTPS:/
/JONASSEBASTIANOHLSSON.COM/SPECIFICITY-
GRAPH/
TLDR:
ŘAĎTE CSS PODLE SPECIFICITY
JAK Z TOHO
VEN
NAVĚŠOVÁNÍ JS (PRO NE-SPA PROJEKTY)
◾ data atributy
◾ prefixované CSS třídy
◾ nikdy nestylovat
ODOLEJTE ZANOŘOVÁNÍ
◾ zbytečně zvyšuje specificitu
NECILTE NA HTML ZNAČKY
◾ (pokud nestylujete jejich základní vzhled)
◾ neumíme předvídat budoucnost – co je
dnes UL, může být zítra DIV
◾ domino efekt – jedno malé zanoření
způsobí vršení dalších
◾ ZANOŘOVÁNÍ SE NELZE ZCELA VYHNOUT
◾ … ALE LZE MINIMALIZOVAT ŠKODY
DO REPEAT YOURSELF
◾ Pokud je to účelné
STRUKTURUJTE
◾ nebojte se souborů – lepší více než
méně
◾ název CSS souboru jednotný s CSS
třídou
ITCSS
SETTINGS
TOOLS
GENERIC
ELEMENTS
OBJECTS
COMPONENTS
UTILITIES
Dosah
S
p
e
c
i
fi
c
i
t
a
E
x
p
l
i
c
i
t
a
Settings
Tools
Generic
Elements
Objects
Components
Utilities
Preprocesor
CSS
Proměnné
Funkce, mixiny
Reset, normalize.css
Základní styly elementů
Layouty, animace
UI komponenty
Jednoúčelové pomocné třídy
$primary-color, $grid-gap
@mixin breakpoint-up() {}
p, h1, a, …
p, h1, a, …
.media, .container, .section
.button, .card, .alert
.mb-3, .pr-sm-4, .text-center
◾ POŘADÍ SKUPIN JE KLÍČOVÉ
◾ NA VNITŘNÍM POŘADÍ UŽ TOLIK
NEZÁLEŽÍ
→ IDE
@FRONTENDGARDEN | @ADAMKUDRNA | ADAMKUDRNA.CZ
DÍKY!

Más contenido relacionado

Más de Adam Kudrna

Más de Adam Kudrna (12)

Design systém 1.0
Design systém 1.0Design systém 1.0
Design systém 1.0
 
UX a design systémy
UX a design systémyUX a design systémy
UX a design systémy
 
TwigX: pište PHP šablony jako v Reactu
TwigX: pište PHP šablony jako v ReactuTwigX: pište PHP šablony jako v Reactu
TwigX: pište PHP šablony jako v Reactu
 
Nové CSS vlastnosti pro rok 2022 a jak je využít
Nové CSS vlastnosti pro rok 2022 a jak je využítNové CSS vlastnosti pro rok 2022 a jak je využít
Nové CSS vlastnosti pro rok 2022 a jak je využít
 
CSS for Design Systems
CSS for Design SystemsCSS for Design Systems
CSS for Design Systems
 
SUIT CSS vs. BEM
SUIT CSS vs. BEMSUIT CSS vs. BEM
SUIT CSS vs. BEM
 
CSS pro design systémy
CSS pro design systémyCSS pro design systémy
CSS pro design systémy
 
Bootstrap 4
Bootstrap 4Bootstrap 4
Bootstrap 4
 
TwigYard – The Final Solution for Small Websites
TwigYard – The Final Solution for Small WebsitesTwigYard – The Final Solution for Small Websites
TwigYard – The Final Solution for Small Websites
 
HTML prototypování
HTML prototypováníHTML prototypování
HTML prototypování
 
Photoshop v dnešním workflow frontendisty
Photoshop v dnešním workflow frontendistyPhotoshop v dnešním workflow frontendisty
Photoshop v dnešním workflow frontendisty
 
Bootstrap – Frontendisti 26. 6. 2014, Brno
Bootstrap – Frontendisti 26. 6. 2014, BrnoBootstrap – Frontendisti 26. 6. 2014, Brno
Bootstrap – Frontendisti 26. 6. 2014, Brno
 

ITCSS — škálovatelná CSS architektura