Виталий: а сколько времени у вас в среднем уходит на главную страницу сайта и на внутреннюю? Ну примерно, порядок. Просто интересно) Я недавно себе настроил сборщик по статье habrahabr.ru/post/250569 , очень доволен, советую. Особенно удобно, когда есть два монитора — на одном код, на другом браузер. Благодаря browser-sync + perfect pixel можно подгонять CSS под макет без перезагрузки страницы.
"Качество верстки - со стороны исполнителя - как максимум валидатор, как минимум корректная кроссбраузерность" — странно, что у вас среди параметров нет таких, как "возможность переиспользования", "лёгкость поддержки" и прочих, которые необходимы при вёрстке проектов, живущих достаточно долго.
Роман: я имею в виду, если вам нужно в элементе установить какое-то начальное значение count, к примеру, вы можете передать его в атрибуте data-count, и потом в скрипте получить его, например, вот так (если у вас есть jQuery, а она почти наверняка есть): var count = $('.element').data('count');
sim3x: а, вот видите, мне не хватает опыта работы с препроцессорами. Откровенно говоря, я только начинаю ими пользоваться. У нас в компании как-то так сложилось, что двигать весь фронтенд вперёд приходится мне одному (начиная с момента, как я пришёл сюда работать практически без знаний), поэтому стараюсь постепенно внедрять новые технологии. Вот буквально только что настроил себе сборщик через Node.js + Gulp, до этого использовал всяческие велосипеды самописные для этих целей. Только-только лезу в ReactJS и Angular :)
Вячеслав Лебедев: просто я понял так, что переменные определяются внутри блока .card и имеют соответствующую область видимости: если это так, то префикс "card" является для них избыточным, потому что они и так работают только в контексте блока .card. Более того, в этом случае с точки зрения программирования наличие префикса будет плохой практикой, поскольку, если изменится название блока, придётся ещё и менять префикс у всех переменных. Если я что-то понял неправильно, извините :)
Вячеслав Лебедев: это узнаётся посредством анализа конкретного дизайна, и больше никак, к сожалению :) Более того, эти данные могут измениться, если меняется дизайн. Вот был одинаковый отступ в сайдбаре и футере, к примеру. А потом стал разный (проект эволюционирует, дизайн меняется). И уже нужны разные переменные, и подход БЭМ для этих конкретных двух блоков стал логичнее моего. Так вот всё сложно.
Вячеслав Лебедев: мне кажется, что это не очень правильный подход в данном случае (хотя в вёрстке я сам приверженец извращённой смеси MCSS и БЭМ). Просто потому, что переменные-то вам нужны не только затем, чтобы совершать какие-то операции, но и затем, чтобы у разных блоков задавать одинаковые параметры. Так что, на мой взгляд, логичнее имена вроде "wrapper_padding-left" или "basic_font-size".