ݺߣ

ݺߣShare a Scribd company logo
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 ÁձÍ
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
ITCSS — škálovatelná CSS architektura
ITCSS — škálovatelná CSS architektura
ITCSS — škálovatelná CSS architektura
◾ 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
ITCSS — škálovatelná CSS architektura
ITCSS — škálovatelná CSS architektura
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
ITCSS — škálovatelná CSS architektura
ITCSS — škálovatelná CSS architektura
◾ POŘADÍ SKUPIN JE KLÍČOVÉ
◾ NA VNITŘNÍM POŘADÍ UŽ TOLIK
NEZÁLEŽÍ
→ IDE
@FRONTENDGARDEN | @ADAMKUDRNA | ADAMKUDRNA.CZ
DÍKY!

More Related Content

ITCSS — škálovatelná CSS architektura