Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BEM for Real Programmers
Search
Mattijs Bliek
July 15, 2016
Programming
0
36
BEM for Real Programmers
Internal talk at Mollie
Mattijs Bliek
July 15, 2016
Tweet
Share
More Decks by Mattijs Bliek
See All by Mattijs Bliek
Vim for newbies
mattijsbliek
0
54
A Front-end Designer's Guide to the Galaxy
mattijsbliek
0
130
Digital Design for Humans
mattijsbliek
1
140
Designing in the Future
mattijsbliek
1
130
How to automate (nearly) anything
mattijsbliek
0
130
Other Decks in Programming
See All in Programming
Unlocking Python's Core Magic
leew
0
120
Micro Frontends for Java Microservices - dev2next 2024
mraible
PRO
0
190
Progressive Web Apps for Rails developers
siaw23
2
530
Pydantic x Database API:turu-pyの開発
yassun7010
1
510
Vue :: Better Testing 2024
up1
1
380
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
4
170
Frontend Magic mit CSS Houdini
joergneumann
0
420
선언형 UI를 학습할 때 알아둬야하는 키워드들
l2hyunwoo
0
110
[KR] Server Driven Compose With Firebase
skydoves
2
160
複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペア・モブプログラミングの実践 / Flexible Pair Programming And Mob Programming
honyanya
0
170
AWS認定資格を受験するにあたり、気づいたこと・実践していたことのまとめ
satoshi256kbyte
1
120
Quarto Clean Theme
nicetak
0
220
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Bash Introduction
62gerente
608
210k
A designer walks into a library…
pauljervisheath
201
24k
We Have a Design System, Now What?
morganepeng
49
7.1k
4 Signs Your Business is Dying
shpigford
180
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Being A Developer After 40
akosma
84
590k
The Invisible Side of Design
smashingmag
297
50k
How STYLIGHT went responsive
nonsquared
94
5.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
403
65k
Designing for Performance
lara
604
68k
Web Components: a chance to create the future
zenorocha
310
42k
Transcript
None
• Oorsprong • Basics • Wat fixt het? BEMBEMBEM
• Koppeling met html • Conflicten in selectors • Onbedoelde
cascades CSS The Bad Parts
• OOCSS (Nicole Sullivan) • Yandex • Nicolas Gallager Russia
to the rescue
None
• Block • Element • Modifier Basics
.cup (block) .cup--glass (modifier) .beer (block)
None
Maar wat fixt het nou?
Vijf problemen uitgelegd voor Real Programmers™
"Ik moet !important gebruiken om dit te overschrijven"
1. Cyclomatic complexity
A quantitative measure of the number of linearly independent paths
through a program's source code.
None
None
Te generiek
None
"Ik heb geen idee waarom deze style wordt toegepast."
2. Composition over inheritance
Ook in CSS kun je beter selectors composen dan laten
overerven
None
None
None
None
"Ik durf dit niet aan te passen want misschien gaan
het ergens anders stuk."
3. Open/Closed principle
Open for extension, closed for modification
Als je veelgebruikte styles aanpast gaat er bijna zeker weten
ergens wat kaduuk
Gateway to hell
None
Op deze manier zijn de nieuwe styles opt-in en weet
je zeker dat er niks breekt
"Deze selector wordt op twintig plekken gebruikt. Waar moet ik
zoeken?"
4. Single source of truth
Welke styles gelden nu voor .cookie? En als ik hier
.cookie aan wil passen, waar moet ik dan zijn?
Hier weet ik exact welke styles applied worden, en waar
ik ze kan vinden
Styles voor .card zitten altijd in card.css Conventie: module ==
file
"Deze selector wordt in wel 20 files gebruikt."
5. Single responsibility principle
Deze button doet een heleboel en kan niet hergebruikt worden.
Nu is de button herbruikbaar en doet elke selector maar
één ding
Tijd voor ACTIE
None
None
None
None
None
None
None
None
None