@vis0r

Несколько вопросов по БЭМ вёрстке. Верно ли я понимаю?

Пытаюсь разобраться в БЭМ. В данный момент речь только о вёрстке и CSS. Мне нравится парадигма независимости блоков друг от друга, возможность их перемещаемости внутри документа без искажения их внешнего оформления.

Теории начитался, пробую на практике. Появились первые вопросы:

1. Согласно главному утверждению - независимости блоков и повторному их использованию на странице, я пришел к выводу что описание простого блока (без вложенных внутрь других блоков) нужно разделить с его позиционированием, поскольку я могу разместить несколько одинаковых блоков на странице в разных местах, с разными отступами и позиционированием.

Пример простого блока:
<div class="simple-block">
<div class="simple-block__item"></div>
</div>


.simple-block {
padding: 10px;
width: 100px;
height: 100px;
background-color: #ccc;
}
.simple-block .simple-block__item {
width: 30px;
height: 15px;
background-color: #fff;
}


Вопрос: как в данном случае осуществить позиционирование блока .simple-block? Другими словами, в каком месте и как должны быть прописаны отступы, позиционирование и т.д. так, чтобы не привязывать их к данному конкретному блоку? Корректно ли моё утверждение по поводу разделения css внешнего вида и позиционирования блока?

2. Корректна ли нижеприведённая конструкция (в данном случае интересует правильность использования * в стилизации конкретного блока)?
.simple-block * {
font: 400 16px "Arial";
}
  • Вопрос задан
  • 2907 просмотров
Пригласить эксперта
Ответы на вопрос 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
1. У каждого элемента может быть несколько классов, а не один. В том числе и общие для целого набора.

2. Какой смысл осваивать БЭМ и писать *? Это — ужасная практика и вам нужно забыть о ней. Иначе внутри вашего блока вы переписываете эти правила у всех элементов. Это — не просто плохо, а очень плохо

3. Для БЭМ есть фреймворки, потому ни один здравомыслящий человек не будет вручную писать эти крокодилы.
Ответ написан
Комментировать
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
1. Используйте доп. классы для блока, который отличается от других.
2. Имхо, использовать * - плохо... Как правило на сайте используется 1 шрифт, максимум 2-3. Он прописывается на боди и всё. И доп шрифты обычно используются для заголовков. Можете на заголовки повесить шрифт, либо же шрифт унести в отдельный класс и ставить его где потребуется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы