Pull to refresh
56
0
qnub @qnub

Наёмный разработчик

Send message
Вот он — прорыв года! Сегодня я усну спокойным за судьбу человечества… (кстати как раз недавно думал по этому поводу — «доколе?»)
Напоминает, но тут уже писали, что, к примеру, b-popupa_theme_ffffff не обязательно задаёт только цвет — это просто название темы, в которую входит много чего. Ну и т.д.
С наукой всегда так — когда её соберут и систематизируют — начинает казаться, что это и так было очевидно…
На самом деле это просто мой взгляд на БЭМ и почему я его стал использовать. Как раз та самая точка зрения человека верстающего и вносящего правки в вёрстку к небольшим штучным проектам. Буду рад внести правки и уточнения.
Ну в его записи не list элемент и item элемент а list-item элемент, как и положено… К тому же если иерархия плоская, а стили независимы — совершенно не нужно описывать оную иерархию в имени класса. Как я это вижу…
Не знаю чего Вы ожидаете, но я разрешаю Вам не пользоваться БЭМ, так и быть (вычеркнул ankelm из списка пользователей БЭМ)…
Если бы там не было JS я бы подумал, что Вам удалось упрекнуть всю концепцию, но там есть JS потому не понятно, что Вас смущает в предложенном Вами варианте? Сменить класс у двух элементов вместо одного как это делается сейчас?
Согласен, потому я так у себя не делаю. Иногда лишняя педантичность только вредит :)
Ну не намного хуже .news .list .item.hiddable просто без пробелов…
Вот знающие люди говорят что можно и я склонен согласиться, т.к. концепцию это не рушит, а понять местонахождение поможет. Но может это стоит делать в особо непонятных случаях, я обычно все внутренние элементы вне зависимости от уровня вложенности именую как блок__элемент — чтоб не разводить демагогию в именах (опять же, может я его потом передвину и чем это лучше вложенных селекторов уже не понятно) да и их обычно в блоке не так чтобы много однотипных на разных уровнях чтоб заморачиваться. Хотя автоматические инструменты наверняка нагеренрят полный путь (я пока не пользовался)…
Даже не знаю, что сказать и как по букве. Но если мне нужно уникальное состояние для блока — я добавлю модификатор через подчёркивание, если для элемента — я поступлю аналогично.

Получается что-то вроде (как сделал бы я и с учётом того что можно отображать вложенность)

.menu
.menu_highlighted // особое состояние всего меню
.menu__item
.menu__item_hidden // особое состояние элемента меню
.menu__item__link
.menu__item__link_active // особое состояние ссылки меню
Блок должен быть максимально незавим в глобальном контексте страницы, но бороться с элементами внутри этого блока — не разумно. Логично если, скажем, вы создаёте блок со списком и будете использовать во всех элементах чёрный текст — назначить этот стиль на родительский блок и Вы ни куда не денетесь — он пойдёт «вниз» по потомкам. Если же где-то цвет не подойдёт — его можно переопределить в локальном стиле элемента. Т.е. писать абсолютно ВЕСЬ комплект стилей для КАЖДОГО элемента это уже через край. Собственно существование модификаторов подтверждает — иначе предлагалось бы писать новый класс для каждого отличающегося элемента, а так предлагается использовать модификатор, меняющий только нужное свойство.
Вовсе нет, каскадность ни куда не девается и её нужно учитывать вложенный блок всё равно унаследует стили родителя, просто не нужно описывать стиль вложенного блока используя в селекторе родительский блок — нужно прописать свой класс дочернему блоку и использовать в селекторе только его… А методология помогает создать название класса, чтобы было понятно чтоэ то за блок.
Содержать может, но описывать стиль вложенного блока так всё равно нельзя. Структура CSS должна быть плоской (один и только один уровень) иначе смысл теряется…
У нас (Омск) лочили только ютуб — это я подтверждаю, т.к. сижу на Ростелекоме и не мог доступиться (даже на хабре в коментах было отписал). Ростелеком потом подтвердил блокировку.
По-моему там было что-то про один блок и элемент в классе, но несколько модификаторов (если мне это не приснилось).
Но это же HTML! Классов туда можно набить хоть миллион — HTML от этого не изменится зато изменить внешний вид элемента — элементарно и также элементарно поменять HTML не нарушая внешнего вида.

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

Information

Rating
Does not participate
Location
Тбилиси, Грузия, Грузия
Registered
Activity

Specialization

Backend Developer, Mobile Application Developer
Lead
From 6,000 $
Python
Django
English
PostgreSQL
Redis
Docker
SWIFT
Development management
Agile
Designing application architecture