Как стать автором
Обновить
57
0
xnim.me @xnim

-

Отправить сообщение
Например так: hh.ru/search/vacancy?only_with_salary=false&specialization=1.221&area=1&clusters=true&text=C+and+not+1c&salary=&currency_code=RUR
Можно «поколдовать» еще со специализациями =)

Разве что будет примесь С\С++ разработчиков
(id вообще оставим как и положено для JS).


id для js — плохая практика. Лучше воспользоваться классами (с префиксом, на которые не накладываем стили), либо data аттрибутами

Ваше решение — отлично бы подошло для сайтов — одно-двухстраничников.
1) Чем сложнее сайт, тем сложнее разобраться с такими стилями

2) Неоднородное поведение элементов. Иногда можно столкнуться со следующими идеями интерфейса — на страницах с какой-то объемной информацией header может «спускаться» за пользователем (быть фиксированным) на других страницах этого не надо (да, вырвиглазно, но присутствует)

3) «Шаблонность» (по отношению к header\body\footer) это проверенная годами возможность предоставить пользователю удобное понимание сайта. Было б непривычно, если бы каждый из сайтов был построен «как душеньке захотелось»

Если разобрать Вашу идею можно найти множество проблем данного кода (начиная от пометки выбранного пункта меню и т.д.)
Сайт уровня usatoday.com на данных «идеях» построить вам не удастся
Благодарю!
О данном (не знаю, как точно определить..) ходе не предполагал.
Если Вы приходите в компанию, где работают без БЭМ и их продуктом является таки веб-сервис, то у них почти всегда есть концепция построения проекта. Иначе держать всю структуру просто-таки невозможно.
Строго следуя БЭМ — да
Я его выделил как элемент внутри блока. Сам по себе он может быть также блоком.
Яркий пример — верстка меню — есть блок меню, который включает элементы — пункты меню, которые включают в себя блок — ссылка
(извиняюсь, не туда отправил)
В таком случае разработчику стоит решить использовать БЭМ или нет. Так как острой необходимости здесь не будет.

Единственная вещь, которую можно записать в «стоит» — это следование единому стилю оформлению
Для сайтов, которых цель — бложик или статика, либо форумы (подобное им) БЭМ не нужен.(читать как не является нужным) Так как такие сайты создаются один раз и следующий раз изменятся только при редизайне.
Прочитайте, пожалуйста, статью. Я привожу пример и рассказываю, что же такое блоки и что такое элементы
Я думаю, что стоит. Яндекс (могу ошибаться) никогда кардинально не менял всю верстку. Используется как старая, так и новая. (по мере наработки — спасибо независимым блокам)

Далее, такие сайты как lenta.ru — постоянно дорабатывают сайт -> без независимости постоянно бы вставал вопрос о «переписки»

hh.ru -использует БЭМ + XSLT — аналогично использование наработок позволяет использовать заново блоки -> сокращается время разработки.
Инструменты для БЭМ были разработаны много позже методологии.

БЭМ предлагает правила именования. В этом его прелесть — разработчикам не нужно «искать то какой принцип исопльзовал предыдущий разработчик при именовании»

Я думаю, Вам будет очень интересна дискуссия в статье здесь — marow.net/archives/161

Для данного треда вынесу цитату:
«Каждый их разработчиков, рано или поздно приходит к чему-то подобному БЭМу»

Возвращаясь к каскадированию — вы вправе использовать его внутри одного блока, например. Все зависит от принятых соглашений для проекта

Также добавлю, если посмотреть на SMACSS — он очень похож на БЭМ.
Ответ уже был дан, на самом деле habrahabr.ru/post/203440/#comment_7021936
Почитайте историю БЭМ.
БЭМ == Независимые блоки.

Изначальное название БЭМ: Верстка на независимых блоках (точное название не припомню, но суть эта)
Вы сейчас говорите о шаблонизаторах. Однако БЭМ это не шаблонизатор. Это методология написания html\css кода.
Это такая же методология, как, например, SMACSS или OOCSS (весьма популярные технологии разработки html\css кода)

Многие компании используют XSLT шаблонизатор + БЭМ методологию.

БЭМ описывает то, как организовывать структуру HTML кода, чтобы добиться ее переносимости и плавного расширения.

В проектах без БЭМ (а если быть более точным — без методологии разработки), зачастую случается следующего рода проблема — создан сайт. Затем появляется необходимость поправить расположение блока меню, блок регистрации поменять местами с лого. Используя БЭМ вы отлично знаете, что, чтобы поменять местами достаточно сменить стили у элементов блока хедер (если говорить о примере в статье) Если необходимо сменить цвет — Вам не надо лезть в код и менять что-то там. Достаточно лишь добавить нужный модификатор. Код становится гибким.

Отказ от наследования…
В статье писал, что может случиться, если Вы в блок добавите вложенный элемент с тем же названием, что и для тех, кои были раньше. БЭМ это учитывает, а в проекте построенном на каскаде может потребоваться переписать код (пример есть в статье)

Вы опять идете на каскад. Идея, сама СУТЬ БЭМа — уйти от каскада. Этот код переписывается и Вы освобождаетесь от каскада.
В БЭМ вы переплачиваете за размер «букоф», выигрывая на этапе отрисовки веб-страниц: использование классов БЕЗ каскада позволяет браузерам быстрее применять стили -> пользователь быстрее получает запрашиваемую страницу.
Во-первых, существуют компании, которые при написании веб-страниц пользуются методологией, но не пользуются инструментами bemjson и т.п.

Затем, как подчеркивал в статье — БЭМ используется для сайтов, которые имеют >20-30 уникальных страниц. Когда блоки могут повторяться и т.п.

Да вы хитрец!
Именно для таких вещей и был разработан БЭМ, чтобы вместо этого ада —
 .menu {
    > a {
      &.active {
        background: blue;
      }
    }
  }


Было:
.b-menu-link-active
{
        background: blue;
}

Специфичностью.

Вы создаете inline стиль, который имеют самую высокую специфичность.
Вы не можете повторно использовать данный код. Возьмите большие сайты, которые развиваются постоянно.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность