$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BEM & Preprocesory (SASS)
Search
Tomáš Musiol
April 26, 2014
Technology
2
390
BEM & Preprocesory (SASS)
Přednáška z Ostravského srazu frontendistů. 25.4.2014, Ostrava
Tomáš Musiol
April 26, 2014
Tweet
Share
More Decks by Tomáš Musiol
See All by Tomáš Musiol
CEZET Map - Představení projektu
kozleek
1
1.4k
Other Decks in Technology
See All in Technology
初めてのDatabricks AI/BI Genie
taka_aki
0
180
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
160
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
410
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
140
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
770
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
2
610
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
140
ChatGPTで論⽂は読めるのか
spatial_ai_network
9
28k
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
160
Python 3.14 Overview
lycorptech_jp
PRO
1
120
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
110
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Music & Morning Musume
bryan
46
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Fireside Chat
paigeccino
41
3.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A better future with KSS
kneath
240
18k
How STYLIGHT went responsive
nonsquared
100
6k
Thoughts on Productivity
jonyablonski
73
5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Transcript
Tomáš Musiol BEM & Preprocesory
B Block Element Modifier E M Co je BEM?
• Konvence pro pojmenování komponent • Nepoužívá ID, popisuje element
výhradně pomocí Class • Střední a velké projekty (Původně Yandex IS) • Odděluje: Block / Element / Modifikátor Co je BEM?
Block (modul): .player
Elementy .player__header .player__cover .player__footer .player__info .player__controls .player__time
Elementy & Modifikátory .player__control .player__control .player__control—share
Výhody • Modulárnost CSS • Znovupoužitelnost kódu • Přehled v
prioritě selektorů (ID vs. Class vs. Zanoření) • Snadnější orientace v GIT repositáři • Snadno pochopitelné pro všechny členy týmu
Nevýhody • Mohou vznikat dlouhé názvy tříd • Zbytečně složité
na malých projektech • Nepořádek v souborech (HTML, CSS), když se nedodržují pravidla
BEM a preprocesory (SASS) .player__info{ ! &__author{ … } &__song{
… } ! } 3.3+
BEM a preprocesory (SASS) .player__info{ ! &__author{ … } &__song{
… } ! } .player__info{ … } .player__info__author{ … } .player__info__song{ … }
BEM a preprocesory (SASS) .player__control{ @extend %control; } ! .player__control--list{
… }
BEM a preprocesory (SASS) .player__control{ @extend %control; } ! .player__control--list{
… } .player__control{ … } .player__control--list{ … }
BEM a preprocesory (SASS) .player__info{ ! .author{ … } .song{
… } ! }
BEM a preprocesory (SASS) .player__info{ ! .author{ … } .song{
… } ! } .player__info{ … } .player__info .author{ … } .player__info .song{ … }
Priorita selektorů BEM Zanořené selektory BEM - modifikátor Zanořené selektory,
modifikátor
Priorita selektorů BEM ID
Struktura souborů a složek
Užitečné pluginy BEM - SublimeText • All Autocomplete • Syntax
highlighting for Sass • SublimeGit • GitGutter
Děkuji za pozornost Tomáš Musiol @kozleek www.musiol.cz