Jump to content

exessqd1

User
  • Posts

    46
  • Joined

  • Last visited

  • Days Won

    1

exessqd1 last won the day on October 5 2011

exessqd1 had the most liked content!

Information

  • Sex
    Мужчина

exessqd1's Achievements

Explorer

Explorer (1/14)

100

Reputation

  1. exessqd1

    БЭМ

    Ребят, проектом я больше не занимаюсь, хостинг закончится через пару дней. Кому нужно сохраняйте себе страничку/библиотечку, потом поздно будет Я предупредил.
  2. Кстати, рекомендуемый в статье финт с псевдоссылкой (href="javascript:void(0);") — классический г-код. Можно сказать, эталонный.

    - попрошу объясниться.

  3. exessqd1

    БЭМ

    Документ обновился до версии 0.7 Список изменений: Небольшой косметический ремонт Добавлен материал в раздел "Расшифровываем аббревиатуру БЭМ" Добавлен материал в раздел "Вопрос-ответ" bemclub.in Библиотека обновилась до версии 0.35 Список изменений: .b-grid Исправлен баг IE6 когда ячейки перескакивали при уменьшении размера окна Исправлен баг с изображениями в IE7 .b-divider Исправлен баг со склеиными блоками в IE6 .b-article Поправлен вертикальный ритм bemclub.in/_matrioshka/
  4. exessqd1

    БЭМ

    Это обсуждалось здесь. Тоже самое можно сделать с помощью БЭМ-инструментов. А вообще главная проблема OOCSS в неуникальности классов, а отсюда вытекают большие проблемы, такие как: Увеличение сложности поддержки проекта - за счет того что классы не упорядочены и со временем смешиваются друг с другом, получается клубок шерсти который распутать просто так не получится, например, удалить из проекта часть кода, не затронув при этом другую часть, будет сложно. Дублирование кода - раз точно понять к какому блоку относятся те или иные стили не получится, в проекте будут находится те части которые впринципе там не нужны, просто для того чтобы ничего не сломалось. Во-первых, любое решение эмулирущее какое-либо поведение через js, будет работать медленее чем нативное решение. Во-вторых, это контекстно-зависимые селекторы и использование их в полной мере, противоречит принципам БЭМ, их можно использовать для декоративных целей в соответствии с принципом graceful degradation, и в этом случае fallback на js будет не нужен.
  5. exessqd1

    БЭМ

    С LESS/SASS ты можешь разрабатывать свой проект в "ООП стиле" как в БЭМ, но CSS который в конечном итоге будет отправлен в браузер, будет таким как если бы ты ничего вообще не делал. LESS/SASS делают разработку немного легче, но они не решают проблем обычной верстки и никак не влияют на быстродействие. И впринципе никто не запрещает использовать LESS/SASS вместе с БЭМ, например так: .b-block { … ._foo {…} .__element { … ._bar {…} } }
  6. exessqd1

    БЭМ

    Если их использовать, нужно обязательно убедится что они действительно нужны в этом месте, а раз так то особенно заботится о их специфичности нам не нужно. Обычно глобальные модификаторы добаляют дополнительную функциональность к блоку а не перезаписывают предыдущую. В том случае когда нам нужно перезаписать предыдущие правила конечно придется добавлять !important Использовать глобальные модификаторы нужно очень аккуратно либо вообще их не использовать, потребность в них небольшая. С таким подходом мы дойдем до того что каждое свойство вынесем в CSS и будем прописывать class="float_left clear_both". Уровень абстракции блоков и модификаторов должен быть практичен и удобен. "Блоки должны быть достаточно крупными чтобы с ними было удобно работать. Блоки должны быть достаточно мелкими чтобы не дублировать код." Эффективней будет каждому отдельному блоку написать float:left; и не размениваться по мелочам. Матрешка никак не относится к БЭМ методологии, это частная библиотека блоков созданная в терминах БЭМ.
  7. exessqd1

    БЭМ

    Ребята! Кому БЭМ помог!? Поднимите руку! Поднял первым
  8. exessqd1

    БЭМ

    rash, вреден — нет. s0rr0w, избыточен — спорно, избыточным может быть ипользование всех БЭМ-интрументов для создания простого проекта, но использование самой методологии, не более трудозатратно чем верстка обычными приемами. Как сказал кто-то из Яндекса: "Маленький проект может всегда превратиться в большой и тогда мы получим кучу мусорного кода".
  9. exessqd1

    БЭМ

    Да, используется и не только для свойств но и для селекторов. Например, модификации для блока должны идти ниже основных правил. Но это только в пределах контекста одного блока. Отдельный блок и все что к ниму относится можно перемещать в CSS как угодно.
  10. exessqd1

    БЭМ

    Добавил в вопрос-ответ
  11. exessqd1

    БЭМ

    Документ обновился до версии 0.6 Список изменений: Добавлено краткое описание Обновлены советы по БЭМ Обновлены правила хорошего тона в верстке Убрано лишнее bemclub.in Библиотека обновилась до версии 0.3 Список изменений: .b-grid Доработан демо-пример Добавлена сокращенная нотация Добавлено описание .b-divider Доработан демо-пример Добавлена сокращенная нотация .b-pin .b-pin добавлен :focus .b-pic Поправлено описание bemclub.in/_matrioshka/
  12. exessqd1

    БЭМ

    Плохо/Неправильно <div class="b-thumbs"> <div class="b-elastic"> <span class="b-elastic__holder b-elastic_thumbs-item"> <span class="b-elastic__item"> <img src="" class="b-thumbs__img" alt=""> <a class="b-elastic__link b-elastic_thumbs-link">text</a> </span> </span> </div> </div> <!--.b-elastic_thumbs-link, .b-elastic_thumbs-item - это модификаторы .b-elastic (class="b-elastic b-elastic_thumbs-link b-elastic_thumbs-item")--> Плохо/Правильно <div class="b-elastic b-thumbs"> <span class="b-elastic__holder b-elastic__holder_thumbs-item"> <span class="b-elastic__item"> <img src="" class="b-thumbs__img" alt=""> <a class="b-elastic__link b-elastic__link_thumbs-link">text</a> </span> </span> </div> <!--.b-elastic__holder_thumbs-item - модификатор b-elastic__holder .b-elastic__link_thumbs-link - модификатор b-elastic__link --> Хорошо/Правильно <div class="b-elastic b-elastic_thumbs b-thumbs"> <span class="b-elastic__holder"> <span class="b-elastic__item"> <img src="" class="b-thumbs__img" alt=""> <a class="b-thumbs__link">text</a> </span> </span> </div> Здесь убраны лишние модификаторы элементов т.к. на моей практике не разу не было чтобы .b-elastic вкладывался сам в себя, в этом случае можно смело модифицировать элементы от контекста блока. /*Модификация от контекста*/ .b-elastic_thumbs {} .b-elastic_thumbs .b-elastic__holder {} .b-elastic_thumbs .b-elastic__item {} /*Блок*/ .b-thumbs {} .b-thumbs__img {} .b-thumbs__link {} Чтобы товары отображались вертикально на .b-elastic_thumbs можно уточнить значение модификатора .b-elastic_thumbs_vert, либо ещё лучше просто добавить модификатор .b-elastic_vert, вертикальный .b-elastic нам может ещё пригодиться в другом месте. <div class="b-elastic b-elastic_vert b-elastic_thumbs b-thumbs"> <span class="b-elastic__holder"> <span class="b-elastic__item"> <img src="" class="b-thumbs__img" alt=""> <a class="b-thumbs__link">text</a> </span> </span> </div> В данном примере у нас получилось 2 модификации (b-elastic_vert b-elastic_thumbs) и 1 блок(b-thumbs с двумя элементами b-thumbs__img b-thumbs__link) мы без проблем можем их разделить и повторно использовать в другом месте. Да так есть, но в таком случае если бы нам понадобился бы ещё один резиновый блок на сайте нам бы пришлось добавлять для него лишний html/css. Либо если бы мы использовали вместо него несколько .b-thumbs изменив лишь пару строк в CSS все блоки .b-thumbs на проекте стали бы вертикальными. Переделывать/Добавлять как есть - других вариантов не видно, я бы добавил как есть, плагин все-таки.
  13. exessqd1

    БЭМ

    Официальная спецификация здесь. Повторное использование кода.
  14. exessqd1

    БЭМ

    Ветка комментариев закрыта, а ещё так хотел побеседовать Как вывод можно сказать, что сейчас нет ни одной причины не использовать БЭМ на своих проектах.
  15. exessqd1

    БЭМ

    Ялекс, автор не против. Gaspode, спрашивай здесь, потом добавим в "Вопрос-ответ".
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy