Вёрстка «посадочной страницы» завершена!

Cruises demo

Не особый любитель я вёрстки. Очень уж кропотливая и нудная работёнка. К тому же, не особо оплачиваемая. Тем не менее я решил потренировать свои навыки и сверстать сайт, взяв за основу PSD-макет, предоставленный обучающим сайтом htmlacademy.ru

Поскольку моей целью была именно практика вёрстки, а не её скорость, я не использовал никаких CSS-фреймворков, таких как всеми известный Bootstrap. Сайт написан на чистом HTML и CSS. И лишь для упрощения работы с Javascript была использована библиотека jQuery.

Классы CSS я решил именовать в соответствии с методологией Яндекс БЭМ. Если очень коротко, принципы данной методологии можно описать следующим образом:

  • Избегать использования селектора наследования
  • Избегать использования ID
  • Не рекомендуется использовать селекторы по тегам
  • Избегать селекторов вида div.header, span.logo
  • Избегать использования !important

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

  • .picture-gallery — блок
  • .picture-gallery_new — модификатор блока
  • .picture-gallery__image — элемент
  • .picture-gallery__image_selected — модификатор элемента

Блок — Функционально независимый компонент страницы, который может быть повторно использован.
Название блока характеризует смысл («что это?» — «меню»: menu, «кнопка»: button), а не состояние («какой, как выглядит?» — «красный»: red, «большой»: big).

Элемент — Составная часть блока, которая не может использоваться в отрыве от него.
Название элемента характеризует смысл («что это?» — «пункт»: item, «текст»: text), а не состояние.

Модификатор — Сущность, определяющая внешний вид, состояние или поведение блока либо элемента.
Название модификатора характеризует внешний вид («какой размер?», «какая тема?» и т.п. — «размер»: size_s, «тема»: theme_islands), состояние («чем отличается от прочих?» — «отключен»: disabled, «фокусированный»: focused) и поведение («как ведет себя?», «как взаимодействует с пользователем?» — «направление»: directions_left-top).

Так всё, стоп. Читателю не знакомому с CSS вряд ли интересны основы данной методология, а тем кто интересуется вёрсткой я настоятельно рекомендую изучить ссылку выше. Вы просто обалдеете от того, насколько проще станет вносить изменения в код. Жаль, что тотальное увлечение фреймворком Bootstrap, препятствует массовому внедрению методологии Яндекс БЭМ.

Также, хочешь-не хочешь, пришлось попрактиковаться в использовании графического редактора Photoshop. Вырезать картинки, замерять отступы и размеры. Не то, чтобы это было особенно сложно, просто раньше, для себя, я использовал бесплатный аналог Photoshop, под названием GIMP. А привыкать к новому продукту всегда не очень комфортно.

Тем не менее, посадочную страничку я сверстал и вы можете лицезреть её по данной ссылке: cruises-demo