Просто изучайте все современные статьи (подпишитесь на дайжесты, читайте хабр и прочие подобные сайты), пилите демки/пет-проджекты и со временем вы сами начнете понимать, что такое хорошо и что такое плохо. Ну и естественно постоянно смотрите на чужие топ работы, в них всегда можно найти много полезных деталей.
zeyser конкретно через браузер это не оттебажить, ибо там источник ошибки обитает внутри библиотек, и они указывают друг на друга, в итоге саму ошибку не увидеть. По хорошему вам надо нанять студента за еду на какой-нибудь воркзилле чтобы он чуточку допилил код, поставил последний jQuery и тогда все будет работать ок.
Nikolay Talanov: Блин, куски html и css автоматом удалилсь из сообщения, зашибись система...
>не позволит использовать %элемент% без класса
>А когда мне по логике нужен класс section, то писать %section класс=section%вообще не хочется допустим.
Даниил Пронин: Я использую BEM для осмысленности. И этот самый БЭМ мне в любом случае не позволит использовать без класса. А когда мне по логике нужен класс section, то писать вообще не хочется допустим. Так что bem+дивы и поехал. Это не значит что я не использую семантику СОВСЕМ, это значит что нужно абсолютно четко понимать, где и зачем её надо использовать.
lavezzi1: Эмм, я плохо понял что вы имеете в виду. У вас нав фиксирован, и он соответственно должен быть поверх всех элементов при скролле, в этом и заключается вся суть фиксированной навигации.
У вас был невалидный html и у nav не были указаны параметры top и left. + я убрал margin у body. И поверх этого я глобально задал box-sizing: border-box; для всех элементов, чтобы padding входил в размеры элемента. codepen.io/suez/pen/79881fa7d6c7c32c91d42ea076d3e1d2
lavezzi1: Получится, почему нет. Выносите nav из header, чтобы он жил сам по себе, делаете его position: fixed и радуетесь жизни. А те "120 пустых пикселей наверху" никто никогда не увидит, ибо на старте nav будет их прикрывать, а потом все будет скроллиться.
У jQuery fluid api, а это значит что каждый из стандартных методов возвращает this, что позволяет создавать цепочки. Именно по этому вариант с $(this) работает.
Вы предлагаете использовать кейфреймы для анимации при скроллинге? Вы по ходу не так поняли изначальную задачу. В моем понимании, каждый этап анимации тут должен меняться в зависимости от скролла (причем с возможностью скроллить назад где то в середине), так что ваше решение вообще не подходит.
Если не ошибаюсь, то баг лечится за счет того, что после применения свойства у элемента создается отдельный слой. То есть по идее translateZ(0)/translate3d(0,0,0) должны делать тоже самое.
Вы корректно ответили на вопрос, описав конкретно "верстальщиков".
Но нормальные люди потом превращаются во фронтендеров и делают красивые и сложные вещи, за которые им платят хорошие деньги.
А тех, кто использует слово "верстальщик", надо расстреливать.
Не используйте id вообще. Никогда. Исключение - svg.
Делайте все на классах. Их можно писать хоть сотнями, копипастить и так далее. И все будет работать как у людей.
Еще бы заострил внимание на моментах, когда люди подрубают жирные функциональные библиотеки, чтобы использовать один метод полтора раза. Про jQuery итак все знают, но меня часто поражают моменты, когда люди подрубают underscore для каких-то примитивных операций с массивами.
lavezzi1: Ок, перефразирую - что-то я не уверен, что семантика особо ценится в верстке. Если речь идет о каком-нибудь интернет-магазине/медиа-сайте (новостном допустим), то там безусловно семантика важна для сео. Но для каких-нибудь промо-сайтов, админок, SPA и прочих вещей, семантика скорее создаст ненужный геморрой. Так что я бы не заострял на ней внимание вообще.