У меня есть блок task в нём есть элемент task__date в этом элементе мне нужно поместить ещё один span в котором будет лежать дата, как мне правильно его назвать task__date-text или task__date__text?
Дизаин бы для примера.
А так пока вот такие Вам вопросы:
Это текст имеем какое-то особенное оформление, которое существует только в рамках этого блока task?
Такой текст может иллюстрировать только блок с датой?
Такая дата может быть только у таски?
Может стоит декомпозировать несколько больше?
Почему Вы решили что date это элемент для task? Почему не самостоятельный блок? И тогда task__date только для стилей, присущих для date внутри task, например, margin.
то есть по правильному, мне нужно создать блок date, и в нём уже создать date__text ?
Нет абстрактного "правильно".
Если дата переиспользуется, то это блок и её элемент. Но тоже нужно знать, переиспользуется самостоятельно или только вместе с родителем.
Хорошо бы предварительно удостовериться, что этот span там вообще нужен.
Логические построения и допущения могут быть очень разными в зависимости от задачи.
Вадим, отличные вопросы, приходит осознание что БЭМ я пока знаю слабенько. Дизайн всей страницы не могу скинуть, а картинка этого элемента вообще вам ничего не скажет. По этому у меня вопрос чисто по теории, "Это текст имеем какое-то особенное оформление, которое существует только в рамках этого блока task?" - а если нет, БЭМ мне позволяет мне в мой task__date, засунуть spanс датой не указывая ему класс?
Вадим, Вроде бы как раз таки об этом и говорит, сама суть БЭМа в пере-использовании элементов с одинаковыми классами ведь? Так что думаю очень редки случаи когда внутри бэма лежит элемент без класса
ForSureN1, Суть бэма говорит о том, чтобы выявлять в дизайне блоки, которые можно переиспользовать и выделять их в отдельные сущности - блоки.
То, что все html элементы внутри бэм-блока при этом должны иметь свои классы - такого нет. (или мне не встречалось)
ForSureN1, ну и в конце концов, бэм - это не строгая система. В документации написано как Яндекс предлагает это делать и то, как это делают они.
Если мне не изменяет память где-то там же в документации есть строчки - делайте как удобно Вам и вашей команде, если наша система вам не подходит - не стесняйтесь вносить свои корректировки.
Ну или что то типа того.
Вадим, так ведь как раз таки с помощью бэма очень просто давать классы элементам, ведь лучше же когда мы пишем стили конкретно для класса, для дальнейшего переиспользования, а не с несколькими вложенностями
Вадим, Я не спорю с вами, лично для меня один из плюсов бэма в том, что мне достаточно дважды кликнуть по классу, и он будет выделен, чтобы я его мог copy/past, с "-" такое не прокатит :(
Вы не сказали где именно Вы кликаете, но если в редакторе, то, как правило, современные редакторы\ide имеют настройки какие именно символы считать за разделители слов.
И тогда можно и с "-" так делать.
Вадим, спасибо, поняла, это очень облегчает жизнь. Долго думала откуда у меня инфа про пустые блоки и вспомнила что это не из документации, а на курсах лектор говорит об этом, возможно это была отсебятина, или команда для себя так решила и он принял это за канон. Хорошего вам дня!