Сергей Бережной, Яндекс
Сергей Бережной,
руководитель отдела
разработки поисковых интерфейсов
__
/ \ ______________
| | / \
@ @ | It looks |
|| || | like you |
|| || <--| are nterested |
|\_/| | in BEM. |
\___/ \______________ /
Create a visual language that synthesizes classic principles of good design with the innovation and possibility of technology and science.
google.com/design/spec/material-design/introduction.html
Гугл делает «убийцу Бутстрапа», внутри БЭМ… БЭМ, Карл!
из внутренней переписки Яндекса
…но зачем?
история про буханку и троллейбус
ᕦ(ò_óˇ)ᕤ
pages/text-only/blocks/mdl-color-definitions/mdl-color-definitions.scss
$color-primary: $palette-pink-500 !default;
$color-primary-dark: $palette-pink-700 !default;
Пристальный взгляд Фрая
<ul class="mdl-menu mdl-menu--bottom-right">
<li class="mdl-menu__item">Lorem</li>
<li class="mdl-menu__item">Ipsum</li>
</ul>
Ничего не напоминает?
<ul style="background-color: green" class="mdl-menu mdl-menu--bottom-right">
<li style="color: red" class="mdl-menu__item">Lorem</li>
<li style="color: red" class="mdl-menu__item">Ipsum</li>
</ul>
(ノಠ益ಠ)ノ彡┻━┻
CSS
.mdl-menu {
background-color: green;
&__item {
color: red;
}
}
HTML
mdl-menu tag ul
__item tag li
CSS
.mdl-menu {
background-color: green;
&__item {
color: red;
}
}
BEMHTML ⓹
block('mdl-menu')(
tag()('ul'),
elem('item').tag()('li')
)
BEMHTML ⓹
block('mdl-menu')(
tag()('ul'),
elem('item').tag()('li')
)
BEMJSON ⓹
{
block: 'mdl-menu',
mods: { 'bottom-right': true },
content: [
{ elem: 'item', content: 'Lorem' },
{ elem: 'item', content: 'Ipsum' }
]
}
☜( ಠ‿↼ )☞
Автоматическое построение сайта библиотеки блоков ⓺:
Для примера: bem-components
__
/ \ ______________
| | / \
@ @ | It looks |
|| || | like you |
|| || <--| are nterested |
|\_/| | in BEM. |
\___/ \______________ /
Сергей Бережной
руководитель отдела
разработки поисковых интерфейсов
github.com/veged
veged@yandex-team.ru
@veged
veged