Тема: Snakeskin
Показать сообщение отдельно
  #42 (permalink)  
Старый 28.06.2013, 13:39
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от monolithed Посмотреть сообщение
А теперь представь что у тебя на сайте 100 тем (пример любой почтовой службы) и некоторые стили пересекаются.

В моем предствлении это будет так:
@set theme_1, theme_2, theme_3 < theme (data) {
    &.title: data.title
}
Ну я же говорю, что у мя есть специальная прослоечка, которая делает нормальную реализацию БЭМ Только я не мешаю классы в html, а делаю @extend в Stylus, т.е.

<div class="b-me"> ... </div>


.b-me {
  @extend .b-about;
}


Т.е. у мя тоже всё гуд Единственное принципиальное отличие твоего подхода от моего, что ты полностью абстрагируешься от html, заменяя сущность тега, на сущность элемента, а у меня абстракция на уровне блоков, т.е. структура блока всё равно описывается старым добрым HTML:

{setBEM b-button, tag: 'span'}
{template bButton() extends iBlock}
	<button class="{this.blockName}__btn">
		...
	</button>
{end}


/// Пример вызова:
{bem b-button, name: '...', ...}Текст кнопки{end}


Но кстати, если у меня меняется именно тема, то я создаю не дочерний блок, а применяю модификатор: b-button_theme_dark и т.д.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 28.06.2013 в 13:55.
Ответить с цитированием