Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как повысить скорость верстки?

Занимаюсь версткой сайтов больше года. Но никак не могу достичь желаемой скорости. Один экран лэндинга могу 3 часа делать. Препроцессоры, шаблонизаторы использую, но это не помогает. Хотелось бы услышать ваши реальные истории, как вы развивались в этом направлении. И как удалось повысить скорость верстки.

ПрограммированиеJavascript+2
Иван Еремеев
  · 6,1 K
< Frontend-разработчик /> "Это не похоже на настоящее описание" - сказал мне валидатор...  · 2 сент 2019

Доброго времени суток.

Для начала, хочу уточнить, что бывают такие насыщенные лендинги, что и 3 часа делать один экран - норма :) То есть понятие скорости достаточно субъективно.

И все же, что помогло конкретно мне ускорить процесс:

  1. Я слез с sublime и перешел на visual studio code и поставил плагин emmet. VSC - потому что когда не тормозит редактор, не тормозит и верстка. Emmet - потому что создание шаблонной страницы в 2 строчки

!

.wrapper>(h$[title=item$]{Header $}+p*3>lorem5^(ul#list$>.cool-list*3))*3

это прекрасно. Не стоит конечно заучивать все возможные комбинации, но .>^$+*# - значительно упрощают жизнь.

Хорошая шпаргалка по эммету есть тут: https://dwstroy.ru/stail/raznoe/emmet-shpargalka/

  1. Перестал преследовать постраничную css-разбивку типа '.page1 .btn' '.page2 .btn', т.е. в scss код выглядел так:

common.scss :

.btn {

cтили для любой кнопки

}

page1.scss :

.page1 {

шрифты и прочие общие для страницы свойства

&.btn {

свойства кнопки для этой страницы, иногда переопределяющие изначальные стили

так что приходилось либо строго следить за подключением файлов, либо использовать !important, что вообще атата

}}

Cтал любой проект, даже лендинги, разбивать на модули. В итоге на scss у меня код выглядит иногда так:

common.scss :

.btn {

cтили для любой кнопки

&.m--page1 {

что добавить\переопределить для страницы1 // переопределять плохо, по-хорошему здесь только добавление

}}

page1.scss :

.page {

шрифты и прочие общие для страницы свойства

}

.m--page1 {} // фейковый класс для реализации модульности

Преимущество видно не сразу, особенно учитывая, что в html теперь вместо

<div class="page1">

<div class="btn">

</div></div>

приходится писать

<div class="page1">

<div class="btn m--page1">

</div></div>

Но со временем привыкаешь просто ко всем модульным элементам (кнопкам, инпутам, селектам и т.д.) дописывать модульный класс и все становится на свои места. Суть этих модулей в переиспользовании кода как внутри одного проекта, так и между проектами, достаточно лишь изменить\удалить классы m--**.

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

  2. Из автоматизаторов использую только gulp для написания scss вместо прямого css. Этот пункт к тому, что, возможно, Вы используете наоборот слишком много инструментов в работе и в итоге их настройка под каждый проект не окупает трудозатраты на эту самую настройку.

  3. Перестал браться за проект, если заказчик просит резину и pixel perfect в одном. Поначалу пробовал объяснять, что это несовместимые понятия, потом забил и жизнь стала намного проще. Потихоньку замечаю тенденцию вымирания pixel perfect-проектов на рынке (да зравствует flex и, возможно, grid).

  4. Больше всего времени у меня уходило на починку "внезапно полетевшей" верстки, так что...хабр, stackoverflow, toster, csstricks, пара своих тестовых проектов с самыми странными видами, но полностью покрывающие редко используемые свойства - наше все. Пункт скорее для тех, кому, как и мне, верстка нужна как неизбежное зло в работе front-end'ера, но может и Вам он будет полезен.

P.S. Все пункты по сути субъективны и помогли конкретно мне. Плюс возможно они противоречат Вашему восприятию мира, предпочтениям и т.д., так что сами попробуете и решите, что работает, а что нет.

2 эксперта согласны
Зачем вообще на страницы разбивать? Файлы стилей для отдельных страниц только в крайнем случае создаются. Для... Читать дальше

Ар Ём, я описывал пример, и там вполне четко был указан приоритет на модульность) так что в Вашем случае (две формы, одна на стр2, другая на стр3) не будет никакого дублирования кода :) Вы один раз определите стили для элементов формы и добавите ее в html каждой страницы. А если на какой-то отдельной странице надо будет чуть-чуть видоизменить какой-то элемент (цвет кнопки или еще что-то), там как раз и применится .m--page№ :) Ну а если такое изменение нужно не на одной странице, то проще будет добавить "виды" или "состояния" элемента, например "btn btn-blue", где .btn по умолчанию зеленая, но если применен еще и класс .btn-blue, то она становится синей

Разработка корпоративных сайтов и интернет-магазинов с 2013 года. Большой опыт в сфере...  · 25 авг 2020  · pavelorekhov.ru
Отвечает
Павел Орехов
Скорость приходит с опытом, рекомендую выбрать один из популярных фреймворков например bootstrap изучить его полностью, перед началом верстки делать его настройку и выбирать только необходимые компоненты под проект чтобы не перегружать его большими файлами это можно сделать тут: http://bootstrap-3.ru/customize.php Создавать собственный архив с наработками, складывать... Читать далее
Создание корпоративных сайтов и интернет-магазиновПерейти на pavelorekhov.ru
SEO продвижение сайта в ТОП выдачи Google и Яндекс  · 27 дек 2019
Отвечает
Александр Л.
Верстка "пиксель перфект" требует много времени и может быть 3 часа - это хороее время, особенно если вы сразу под все разрешения делает за эти 3 часа. Но если хочется быстрее, то попробуйте верстать прямо в браузере Google Chrome с открытыми Инструментами разработчика (Открываются по кнопке F12). Это полноценная среда для разработки html/css/js с подсказками и... Читать далее
Курсы веб. Обучение веб разработке полного цикла, курсы html css с нуля, лекции на Ютубе...  · 30 янв 2020  · creativcode.ru
Отвечает
Алексей Б

Для ускорения верски служат различные библиотеки, одна из наиболее популярных это bootstrap.
В любом случае очень полезен LESS - легок в использовании, позволяет разбить файлы верстки на модули, повторно использовать различные константы, например цвета, тени и т.д.

Имею естественно научное образование, в юношестве прикипел к литературе, сейчас активно...  · 2 сент 2019
В вашем случае больше практиковаться советовать не имеет большого смысла, думаю, можно попробовать изменить подход к работе, попробуйте составлять планы на каждый проект, те вы рисуйте схему сайта на бумаге, продумывайте интерактивные элементы, а к ним уже JS код, так же набрасывайте разметку стилей, после чего для каждого этапа разработки составляйте план и временной... Читать далее