Верстка сайта пошаговое руководство

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

Осмотрите макет

Зачем. Чтобы потом не отвлекаться от вёрстки.

Смотрите макет по принципу «Снаружи — внутрь» — двигаясь от крупных смысловых элементов к деталям дизайна. Чтобы было удобнее, сделайте дубликат макета в Фигме и пишите там заметки о том, что нашли.

Отметьте крупные смысловые блоки и разделы. Посмотрите на страницу и выделите крупные смысловые блоки. Базовая структура любого макета состоит из трех основных тегов:

  • <header> — шапка сайта, одинаковая на всех страницах.
  • <main> — уникальный контент;
  • <footer> — подвал, одинаковый на всех страницах.

Теперь ищем смысловые разделы внутри этих блоков. Поможет схема:

Проанализируйте контент. Присмотритесь к тексту на макете, какую функцию он выполняет? Может быть то, что вы видите, это не текст, а кнопка или раскрывающиеся меню?

На этом этапе отметьте:

  1. Заголовок всего документа и заголовки смысловых разделов. Теги: <h1><h6>.
  2. Мелкие элементы в смысловых разделах. Это списки, таблицы, демо-материалы, параграфы и переносы, формы, цитаты, контактная информация и прогресс.
  3. Фразовые элементы. Изображения, ссылки, кнопки, видео, время и мелкие текстовые элементы.

Когда вы закончите работу, у вас в заметках будет готовая схема вёрстки и уже ничего не будет отвлекать вас от кода.

Настройте редактор кода и проект

Установите редактор Visual Studio Code (или любой другой), если ещё этого не сделали, и плагин editorconfig. Он помогает разным разработчикам писать код в проекте в одном стиле.

Структура проекта. Создайте папку и положите туда файл index.html, папку css с файлами style.css и normalize.css, а также папки для картинок и шрифтов. Получится так:

Разметка

Рабочую среду подготовили, приступаем к разметке.

  1. Создаём разметку страницы в файле index.html. Изображения пока не подключаем — этим займемся на этапе работы с графикой;
  2. Далее, в файле при помощи нужных тегов: прописываете весь текст, расставляете все ссылки и кнопки. Нужен только HTML-код, стили пока делать не нужно.
  3. Теперь определим ! DOCTYPE, укажем язык содержимого, кодировку и заголовок страницы во вкладке браузера.
<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Заголовок страницы</title>
  </head>
  <body>
  </body>
</html>

Выделяем крупные смысловые блоки на каждой странице сайта. Это <header> — шапка, <footer> — подвал и <main> — основное содержимое.

Размечаем в блоках крупные смысловые разделы. Выделяем главную навигацию <nav>, секции через <section>, смысловые разделы через <article> и дополнительное содержимое через <nav>.

Выделяем заголовок всего документа и заголовки смысловых разделов. Заголовок — это обманчиво простой тег. Главная проблема с заголовками такая: не всегда то, что кажется заголовком, им является.

Например, текст про дизайн-студию из Краснодара прикидывается заголовком, но на самом деле это не он:

Это само содержание, а не его резюме. Хорошим заголовком для этого блока был бы текст «О нас» или «О студии».

Размечаем мелкие элементы в смысловых разделах. Списки <ul> и <ol>, таблицы <table>, демонстрационные материалы <figure>, параграфы <p> и переносы <br>, формы <form>, цитаты <blockquote>, контактную информацию, прогресс и измерения.

Определить, какие теги использовать, можно методом исключения:

  • Получилось найти самый подходящий смысловой тег — использовать его.
  • Для потоковых контейнеров — <div>.
  • Для мелких фразовых элементов (слово или фраза) — <span>.

Размечаем фразовые элементы. Изображения <img>, ссылки <a>, кнопки <button>, видео-контент <video>, время <time>, мелкие текстовые элементы <span><b> или <i>.

Разметка в редакторе кода выглядит так:

А так проект выглядит в браузере:

Базовая стилизация

Начинается самое интересное — работа с внешним видом. Прописываем в style.css базовые стили. Для крупных блоков пока ничего не делаем.

Этапы базовой стилизации

  • Добавление классов в разметку;
  • Подключение нестандартных шрифтов (локально или из сервиса);
  • Подключение normalize.css (по желанию);
  • Указываем параметры шрифта — название, размер, цвет, жирность;
  • Указываем высоту строки;
  • Описание фоновых параметров (фоновый цвет);
  • Описание состояний интерактивных элементов, которые описаны в стайлгайде. На этом этапе задавайте только текстовые параметры и параметры фона;
  • Все цвета вынесены в кастомные свойства в селектор :root.

Пример проекта с базовой стилизацией:

Работа с графикой

Экспортируйте всю графику из макета в Figma и подключите её в разметке.

SVG-изображения рекомендуется собрать в спрайт и подключить первым элементом в body. Спрайт — это файл, который мы сшили из нескольких графических элементов, например, из иконок. Спрайты экономят запросы к серверу — с ними сайт работает и загружается быстрее. В спрайт сшивается и растровая, и векторная графика.

В папке вашего проекта подготовьте графику: подготовленные изображения разместите в подпапке img в папке проекта, чтобы у вас получилась примерно такая структура проекта:

project
| – css
| – fonts
| – img
|      [ваши картинки]
|   favicon.ico
|   index.html
|   catalog.html

Подключите контентные изображения в разметке. Фоновые и декоративные изображения пока подключать не нужно.

При подключении изображений используйте относительные адреса, обязательно укажите размер картинки без пикселей, а также alt. Например, так:

<img src="img/logo.png" width="100" height="50" alt="Девайс">

Подключите к проекту фавиконки. favicon.ico размером 32×32 положите в корень проекта и подключите в <head>, остальные версии фавиконок делать не обязательно.

Пример проекта в котором подключена графика:

Построение сетки

Построение сеток производится в общем стилевом файле style.css.

При работе с созданием крупных структурных сеток, в вёрстке используется подход desktop-first, то есть сайт прежде всего должен корректно отображаться на больших разрешениях экрана.

Расположите элементы страницы по сетке в соответствии с макетом. Для удобства используйте один из следующих способов визуального выделения элементов:

  1. C помощью свойства background-color c разными цветами для разных блоков;
  2. С помощью свойства outline (для удобства также можно использовать разные цвета).
  3. Свойство border лучше не использовать, так как оно влияет на ширину блока и может что-нибудь сломать.

Пример проекта, где уже добавлены сетки:

Добавление декоративных элементов

На этом этапе добавляем мелкие сетки — например, для карточек товара. Подключаем кастомные шрифты и фоновые изображения. В конце оформляем остальные декоративные элементы, которые ещё не стилизовали раньше.

Пример готового проекта, где добавлены декоративные элементы:

Всё почти готово, осталась пара шагов.

Адаптивные сетки и декоративные элементы

Чтобы сделать хороший адаптивный сайт, нужно понимать много нюансов: как работают вьюпорт, медиавыражения, адаптивные картинки. Эту тему стоит разобрать отдельно, но если хотите, познакомьтесь с ней в блоге Академии.

Адаптивная графика

Ура! Мы и дошли до последнего пункта работы над проектом. Что нам осталось сделать?

  1. Подключаем в разметке и стилях адаптивные изображения для разных девайсов и экранов с разной плотностью пикселей;
  2. В HTML используем элемент picture, с помощью которого подключаем картинки для разных разрешений экрана, для экранов с разной плотностью пикселей, а также webp-варианты картинок для поддерживающих браузеров;
  3. В CSS подключаем картинки для экранов с двухкратной плотностью пикселей и для разных разрешений с помощью медиа-выражений.

Пример готового проекта, где настроена адаптивная графика:

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

Следующие шаги:

  • Шаблон простого сайта на HTML
  • Шаблон HTML-формы
  • Основы дизайна для верстальщиков
  • Как добавить изображение на страницу
  • Частые ошибки в HTML-коде

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Время на прочтение
13 мин

Количество просмотров 1.2M

Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

Часть 1. Верстка стандартными средствами

Преимущество данной верстки состоит в том, что код получается более «чистым», а значит быстрее загружается и легче изменяется под специфические нужды. Недостаток такой верстки заключается в том, что она требует значительно больше времени, чем при использовании фреймворков.

Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.

image

Структура файлов

Первым шагом давайте создадим простую структуру файлов для наших файлов.

  • Создаем папку с названием нашего проекта, например Whitesquare.
  • В ней создаем пустой файл index.html.
  • В папке проекта создаем папку css с пустым файлом styles.css.
  • В папке проекта создаем пустую папку images.

image

Предварительный осмотр

После создания структуры файлов открываем psd файл в Photoshop. Важно внимательно осмотреть шаблон и оценить его. Нам нужно понять следующие вещи:

  • Как будут нарезаться изображения?
  • Какими будут основные стили?
  • Какой макет у нас получится?

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

Общие изображения

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

Сохраним логотипы следующим образом:
/images/logo.png
/images/footer-logo.png

В качестве пустых картинок из макета будем использовать однопиксельное серое изображение, которое будем растягивать по необходимости
/images/ sample.png

Повторяющиеся фоновые изображения необходимо вырезать минимальным кусочком достаточным для образования полного изображения повторением по вертикали и горизонтали.
/images/bg.png
/images/h1-bg.png

Иконки социальных сетей с одинаковыми размерами удобно сохранить в один файл и использовать как спрайты для более быстрой загрузки. Для этого можно склеить картинки вручную в Photoshop, а можно сначала нарезать по одной, а затем склеить с помощью специально сервиса, например http://ru.spritegen.website-performance.org. В итоге получится два файла:
/images/social.png
/images/social-small.png

Общее правило при именовании изображений заключается в том, что мелкие и простые картинки, такие, как иконки, логотипы и т.д. сохраняются в формате png, а фотографии в формате jpg.

Основные стили

И только теперь можно начинать писать код. Но начнем мы это делать не с привычного HTML, а с переноса правил в CSS.

На данном этапе желательно перенести все визуальные стили из дизайна в CSS, которые будут применяться по умолчанию для каждого тега.

Основной цвет фона примерно соответствует цвету #f8f8f8. Он будет показан в случае, если фоновая картинка не загрузится. Наверху страницы находится серая дизайнерская полоска. Применим ее через свойство border для body.

Основным шрифтом является тот шрифт, которым написан текст в области контента. Чтобы узнать его стили нужно выделить его в Photoshop’е и посмотреть свойства шрифта. В данном случае это Tahoma 12px с цветом #8f8f8f. Так же в этом макете параграфы имеют увеличенные отступы.

Прописываем все эти стили в styles.css:

body {
	color: #8f8f8f;
	font: 12px Tahoma, sans-serif;
	background-color: #f8f8f8;
	border-top: 5px solid #7e7e7e;
	margin: 0;
}
input[type="text"] {
	background-color: #f3f3f3;
	border: 1px solid #e7e7e7;
	height: 30px;
	color: #b2b2b2;
	padding: 0 10px;
	vertical-align: top;
}
button {
	color: #fff;
	background-color: #29c5e6;
	border: none;
	height: 32px;
	font-family: 'Oswald', sans-serif;
}
p {
	margin: 20px 0;
}

В дальнейшем мы все стили будем писать в этот же файл, поэтому будем называть его просто «стили».

Каркас HTML

И вот, наконец, мы можем попрактиковаться в написании HTML кода. Запишем в index.html следующее:

<!doctype html>
<html>
<head>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=Edge">
	<title>Whitesquare</title>
	<link rel="stylesheet" href="css/styles.css" type="text/css">
	<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Oswald:400,300" type="text/css">

	<!--[if lt IE 9]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
</head>
<body>
</body>
</html>

Здесь мы указываем, что используем разметку HTML5, кодировку utf-8, страница называется Whitesquare. Также подключаем наш файл стилей и внешний файл со стилями шрифтов.
В последнем блоке в секции head мы подключаем специальный скрипт, который позволяет поддерживать Html5 теги в браузерах Internet Explorer меньше 9 версии. Мета-тег X-UA-Compatible сообщает, что в случае использования браузера Internet Explorer, он должен отразить сайт самым современным способом.

Весь html код в дальнейшем будет относиться к этому же файлу, поэтому специально указывать куда прописывать html код автор больше не будет.

Макет

В данном случае, мы видим, что сайт состоит из двух колонок: основного контента и сайдбара. Над ними находится шапка (header), в которой располагаются три горизонтальных блока: логотип с поиском, меню и название страницы. В самом низу под колонками располагается серый горизонтальный блок футера (footer).

Опишем это в теге body:

<body>
	<div id="wrapper">
		<header></header>
		<nav></nav>
		<div id="heading"></div>
		<aside></aside>
		<section></section>
	</div>
	<footer></footer>
</body>

Wrapper используется для объединения блоков и их выравнивания по центру страницы.

Затем укажем стили блоков:

#wrapper {
	max-width: 960px;
	margin: auto;
}
header {
	padding: 20px 0;
}
Логотип

Вставляем логотип в тег header:

<header>
	<a href="/"><img src="" alt="Whitesquare logo"></a>
</header>

Дополнительных стилей не требуется.

Поиск

Вставляем форму поиска в тег header:

<header>
…
<form name="search" action="#" method="get">
	<input type="text" name="q" placeholder="Search"><button type="submit">GO</button>
</form>
</header>

И стили выравнивания по правому краю для нее:

form[name="search"] {
	float: right;
}
Меню

Для отображения меню необходимо создать список со ссылками внутри тега nav:

<nav>
	<ul class="top-menu">
		<li><a href="/home/">HOME</a></li>
		<li class="active">ABOUT US</li>
		<li><a href="/services/">SERVICES</a></li>
		<li><a href="/partners/">PARTNERS</a></li>
		<li><a href="/customers/">CUSTOMERS</a></li>
		<li><a href="/projects/">PROJECTS</a></li>
		<li><a href="/careers/">CAREERS</a></li>
		<li><a href="/contact/">CONTACT</a></li>
	</ul>
</nav>

CSS стили для него будут следующие:

nav a {
	text-decoration: none;
}

nav ul {
	margin: 0;
	padding: 0;
}

nav li {
	list-style-position: inside;
	font: 14px 'Oswald', sans-serif;
	padding: 10px;
}

.top-menu li {
	display: inline-block;
	padding: 10px 30px;
	margin: 0;
}

.top-menu li.active {
	background: #29c5e6;
	color: #fff;
}

.top-menu a {
	color: #b2b2b2;
}

Здесь мы указали, что для всех навигаций ссылки не будут иметь подчеркивания, убрали стандартные отступы для элементов списка, отобразили список горизонтально и указали нужные цвета и шрифт.

Заголовок страницы

Заголовок страницы помещается в div с идентификатором heading

<div id="heading">
	<h1>ABOUT US</h1>
</div>

Заголовок имеет следующие стили:

#heading {
	background: transparent url(../images/h1-bg.png);
	margin: 30px 0;
	padding-left: 20px;
}

h1 {
	display: inline-block;
	color: #7e7e7e;
	font: 40px/40px 'Oswald', sans-serif;
	background: url(../images/bg.png);
	margin: 0;
	padding: 0 10px;
}

Рисуем серую полоску фоном на div’e, и в нее вкладываем инлайновый h1 с нужным шрифтом и фоном цвета страницы, чтобы создалось впечатление прозрачного фона для h1.

Колонки

Для того, чтобы создать колонки страницы нужно прописать следующие стили:

aside {
	float: left;
	width: 250px;
}
section {
	margin-left: 280px;
	padding-bottom: 50px;
}

Здесь мы задали фиксированную ширину 250 пикселей для сайдбара, прибили его к левому краю и отодвинули колонку с контентом вправо на 280 пикселей от левого края. Также добавили отступ у контента снизу.

Подменю

Подменю создаем аналогично главному меню. Для этого в теге aside прописываем следующее:

<aside>
<nav>
	<ul class="aside-menu">
		<li class="active">LOREM IPSUM</li>
		<li><a href="/donec/">DONEC TINCIDUNT LAOREET</a></li>
		<li><a href="/vestibulum/">VESTIBULUM ELIT</a></li>
		<li><a href="/etiam/">ETIAM PHARETRA</a></li>
		<li><a href="/phasellus/">PHASELLUS PLACERAT</a></li>
		<li><a href="/cras/">CRAS ET NISI VITAE ODIO</a></li>
	</ul>
</nav>
</aside>

И применяем к подменю следующие стили:

.aside-menu li {
	font-weight: 300;
	list-style-type: square;
	border-top: 1px solid #e7e7e7;
}

.aside-menu li:first-child {
	border: none;
}

.aside-menu li.active {
	color: #29c5e6;
}

.aside-menu a {
	color: #8f8f8f;
}

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

Контент сайдбара

В контенте сайдбара помимо подменю в макете располагается также изображение с расположением офисов.

В html это выглядит так:

<h2>OUR OFFICES</h2>
<p><img src="images/sample.png" width="230" height="180" alt="Our offices"></p>

В стилях укажем шрифты, цвета и отступы:

aside > h2 {
	background: #29c5e6;
	font: 14px 'Oswald', sans-serif;
	color: #fff;
	padding: 10px;
	margin: 30px 0 0 0;
}

aside > p {
	background: #f3f3f3;
	border: 1px solid #e7e7e7;
	padding: 10px;
	margin: 0;
}

Данные стили применяются только к заголовкам и параграфам, лежащим непосредственно внутри сайдбара, но не глубже.

Цитата

Вёрстку контента начнём с добавления цитаты.

Добавим код цитаты в раздел section

<section>
<blockquote>
	<p>
		“QUISQUE IN ENIM VELIT, AT DIGNISSIM EST. NULLA UL CORPER, DOLOR AC PELLENTESQUE PLACERAT, JUSTO TELLUS GRAVIDA ERAT, VEL PORTTITOR LIBERO ERAT.”
	</p>
	<cite>John Doe, Lorem Ipsum</cite>
	</blockquote>
</section>

И применим для него стили:

blockquote {
	margin: 0;
	background: #29c5e6;
	padding: 10px 20px;
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
}

blockquote p {
	color: #fff;
	font-style: italic;
	font-size: 33px;
	margin: 0;
}

blockquote cite {
	display: block;
	font-size: 20px;
	font-style: normal;
	color: #1d8ea6;
	margin: 0;
	text-align: right;
}

Здесь нет ничего нового, так же — шрифты, фоны и отступы.

Контент

Все стили для текста контента мы уже добавили. Поэтому остается добавить только три параграфа с самим текстом после

.

<p>Lorem ipsum dolor sit amet…</p> <p>Donec vel nisl nibh…</p> <p>Donec vel nisl nibh…</p>

Следующим шагом нужно добавить два изображения, которые находятся в конце текста контента. Делается это с помощью тега :

<figure>
	<img src="images/sample.png" width="320" height="175" alt="">
</figure>
<figure>
	<img src="images/sample.png" width="320" height="175" alt="">
</figure>

, которому зададим следующие стили:

figure {
	display: inline-block;
	margin: 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
}

figure img {
	display: block;
	border: 1px solid #fff;
	outline: 1px solid #c9c9c9;
}

figure figcaption {
	font-size: 16px;
	font-weight: 300;
	margin-top: 5px;
}

figure figcaption span {
	display: block;
	font-size: 14px;
	color: #29c5e6;
}
section > figure + figure {
	margin-left: 28px;
}

Здесь мы убрали стандартные отсупы у figure, отобразили его как инлайновый блок и применили нужный шрифт. Изображение отображаем как блочный элемент с белой рамкой. Вторую серую рамку можно сделать через css-свойство outline. Самое интересное находится в последнем правиле, которое задает левый отступ у всех figure кроме первого внутри тега section.

Блок «Our team»

При верстке этого блока добавим сначала заголовок:

<h2>OUR TEAM</h2>

Со стилем:

section > h2 {
	background: #29c5e6;
	font: 30px 'Oswald', sans-serif;
	font-weight: 300;
	color: #fff;
	padding: 0 10px;
	margin: 30px 0 0 0;
}

А затем два блока-строки с карточками сотрудников

<div class="team-row">
	<figure>
		<img src="images/sample.png" width="96" height="96" alt="">
		<figcaption>John Doe<span>ceo</span></figcaption>
	</figure>
	<figure>
		<img src="images/sample.png" width="96" height="96" alt="">
		<figcaption>Saundra Pittsley<span>team leader</span></figcaption>
	</figure>
…
</div>
<div class="team-row">
	<figure>
		<img src="images/sample.png" width="96" height="96" alt="">
		<figcaption>Ericka Nobriga<span>art director</span></figcaption>
	</figure>
	<figure>
		<img src="images/sample.png" width="96" height="96" alt="">
		<figcaption>Cody Rousselle<span>senior ui designer</span></figcaption>
	</figure>
…
</div>

Таким образом, карточка (figure) состоит из фотографии (img), подписи (figcaption) с именем сотрудника и его должностью (div). Карточки будут иметь следующие стили:

figure figcaption {
	font-size: 16px;
	font-weight: 300;
	margin-top: 5px;
}

figure div {
	font-size: 14px;
	color: #29c5e6;
}

.team-row figure {
	margin-top: 20px;
}

.team-row figure + figure {
	margin-left: 43px;
}

Здесь мы задали шрифт и отступ для подписи, размер и цвет должности, добавили верхний отступ для карточек и указали, что для всех карточек в строке, кроме первой, должен быть отступ слева.

Футер

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

Для начала создадим контейнер футера с этим блоками:

<footer>
	<div id="footer">
		<div id="twitter"></div> 
		<div id="sitemap"></div>
		<div id="social"></div>
		<div id="footer-logo"></div>
	</div>
</footer>

И применим к нему оформление:

footer {
	background: #7e7e7e;
	color: #dbdbdb;
	font-size: 11px;
}

#footer {
	max-width: 960px;
	margin: auto;
	padding: 10px 0;
	height: 90px;
}

Контейнер с id=”footer” находится внутри тега footer, это даёт нам возможность через тег footer задать серую область по всей ширине экрана, а через внутренний div отцентрировать с максимальной шириной 960 пикселей. Также этот div задает обоим блокам высоту 90 пикселей.

Лента Твиттера

Верстаем содержимое ленты Твиттера:

<div id="twitter">
	<h3>TWITTER FEED</h3>
	<time datetime="2012-10-23"><a href="#">23 oct</a></time>
<p>
	In ultricies pellentesque massa a porta. Aliquam ipsum enim, hendrerit ut porta nec, ullamcorper et nulla. In eget mi dui, sit amet scelerisque nunc. Aenean aug
</p>
</div>

Стили:

footer h3 {
	font: 14px 'Oswald', sans-serif;
	color: #fff;
	border-bottom: 1px solid #919191;
	margin: 0 0 10px 0;
}

#twitter time a {
	color: #b4aeae;
}

footer p {
	margin: 5px 0;
}

#twitter {
	float: left;
	width: 300px;
}

#twitter p {
	padding-right: 15px;
}

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

Карта сайта

Карта сайта представляет собой два блока со ссылками:

<div id="sitemap">
	<h3>SITEMAP</h3>
	<div>
		<a href="/home/">Home</a>
		<a href="/about/">About</a>
		<a href="/services/">Services</a>
	</div>
	<div>
		<a href="/partners/">Partners</a>
		<a href="/customers/">Support</a>
		<a href="/contact/">Contact</a>
	</div>
</div>

Ссылкам задаем цвет и оставляем подчеркивание только для наведённых.
Колонки со ссылками делаем через инлайновые блоки и затем свойством #sitemap div + div отодвигаем вторую колонку от первой.

footer a {
	color: #dbdbdb;
}

#sitemap {
	width: 150px;
	float: left;
	margin-left: 20px;
	padding-right: 15px;
}

#sitemap div {
	display: inline-block;
}

#sitemap div + div {
	margin-left: 40px;
}

#sitemap a {
	display: block;
	text-decoration: none;
	font-size: 12px;
	margin-bottom: 5px;
}

#sitemap a:hover {
	text-decoration: underline;
}
Социальные ссылки

Вставляем набор ссылок в контейнер

<div id="social"> <h3>SOCIAL NETWORKS</h3> <a href="http://twitter.com/" class="social-icon twitter"></a> <a href="http://facebook.com/" class="social-icon facebook"></a> <a href="http://plus.google.com/" class="social-icon google-plus"></a> <a href="http://vimeo.com/" class="social-icon-small vimeo"></a> <a href="http://youtube.com/" class="social-icon-small youtube"></a> <a href="http://flickr.com/" class="social-icon-small flickr"></a> <a href="http://instagram.com/" class="social-icon-small instagram"></a> <a href="/rss/" class="social-icon-small rss"></a> </div>

И стилизуем их:

#social {
	float: left;
	margin-left: 20px;
	width: 130px;
}

.social-icon {
	width: 30px;
	height: 30px;
	background: url(../images/social.png) no-repeat;
	display: inline-block;
	margin-right: 10px;
}

.social-icon-small  {
	width: 16px;
	height: 16px;
	background: url(../images/social-small.png) no-repeat;
	display: inline-block;
	margin: 5px 6px 0 0;
}

.twitter {
	background-position: 0 0;
}

.facebook {
	background-position: -30px 0;
}

.google-plus {
	background-position: -60px 0;
}

.vimeo {
	background-position: 0 0;
}

.youtube {
	background-position: -16px 0;
}

.flickr {
	background-position: -32px 0;
}

.instagram {
	background-position: -48px 0;
}

.rss {
	background-position: -64px 0;
}

Здесь мы применили технику спрайтов – когда один файл с изображением применяется для разных картинок. Все ссылки разделились на большие иконки (.social-icon) и маленькие (.social-icon-small). Мы задали этим классом отображение в виде инлайнового блока с фиксированными размерами и одинаковым фоном. А затем с помощью css сдвинули этот фон так, чтобы на каждой ссылке отобразилось соответствующее изображение.

Копирайт

Блок с копирайтом и логотипом – это картинка со ссылкой и параграф с текстом под ним.

<div id="footer-logo">
	<a href="/"><img src="" alt="Whitesquare logo"></a>
	<p>Copyright © 2012 Whitesquare. A <a href="http://pcklab.com">pcklab</a> creation</p>
</div>

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

#footer-logo {
	float: right;
	margin-top: 20px;
	font-size: 10px;
	text-align: right;
}

На этом наши работы закончены. Готовый проект можно скачать здесь.

Разработка сайта – это долгая и плодотворная работа, которая, как правило, разделена на несколько этапов. Начальный этап заключается в прототипировании, когда прорисовывается основная структура сайта. На основе этого разрабатывается макет будущих страниц, который в последующем верстается. Верстка сайта – это преобразование готового макета в продукт, состоящий из языка разметки HTML и CSS.

О том, что включает в себя верстка сайта и какие этапы проходит профессиональный верстальщик, поговорим в сегодняшней статье.

Что включает в себя верстка сайта

Основная задача верстальщика – переместить прототип в код, который будет в точности отображать проделанную работу дизайнера. Верстку можно сравнить с издательской деятельностью – книги, журналы и газеты содержат структурированную информацию, в них текст и графические материалы упорядочены таким образом, чтобы максимально облегчить читателю процесс потребления информации и заинтересовать его.

Выделяется два типа разработчиков сайтов:

  • Backend– занимается разработкой внутренней части сайта, программирует основной функционал;
  • Frontend – занимается внешней частью сайта, настраивает отображение всех элементов, добавляет к ним анимацию и так далее.

Верстка – это про Frontend, в основу которого входит язык разметки HTML, базис любого сайта.

HTML позволяет показывать страницы и контент, размещенный на них, в заданном порядке. Работа с языком разметки заключается в описании тегов. Вот основные из них:

  1. <html> </html> – главный тег, в котором содержатся другие теги;
  2. <head> </head> – включает в себя различные SEO-элементы, код JavaScript и многое другое;
  3. <body> </body> – внутри этих тегов находится все содержимое страницы;
  4. <h1> </h1> – используется для обозначения заголовка первого уровня;
  5. <h2> </h2> – используется для обозначения заголовка второго уровня, после которого следуют заголовки h3, h4, h5, h6;
  6. <p> </p> – здесь прописывается текстовое описание, например заголовок статьи;
  7. <strong> </strong> – придает тексту жирность;
  8. <i> </i> – текст, написанный внутри этого тега, отрображается курсивом;
  9. <ul> </ul> – обозначает маркированный список;
  10. <ol> </ol> – обозначает нумерованный список;
  11. <li> </li> – указывает на пункты внутри списка;
  12. <a> </a> – позволяет добавить к тексту ссылку на другую страницу, номер телефона, почту или иной элемент с помощью атрибута href;
  13. <img> – используется, чтобы добавить картинку на сайт с компьютера либо из интернета;
  14. <table> </table> — тег для создания таблицы.

Теги работают следующим образом:

<h1>Привет – это мой первый сайт!</h1>

В таком случае на странице будет отображен заголовок h1 со стандартным шрифтом, размером и начертанием. 

Заголовок H1 в HTML

Аналогичным образом прописываются другие теги, в результате чего получается готовый сайт.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Виды верстки

Существует два вида верстки – блочная и табличная.

Табличная верстка

Первый вид верстки, с которого началась эпоха сайтов. Именно через таблицы создавались простые веб-ресурсы в далеком 2000-м году. При табличной верстке страница поделена на соседствующие ячейки, что напоминает стандартную работу с таблицами в Excel.

Минус такого подхода состоял в том, что приходилось создавать дополнительные таблицы, которые впоследствии могли остаться пустыми. Например, если требовалось разместить изображение и зафиксировать его положение, то необходимо было создать новую строку и разделить ее на несколько столбцов. Только один из них бы содержал изображение, а другие служили бы для него фиксаторами.

Таким образом, страница могла содержать большое количество пустых таблиц, из-за которых сайт становился «тяжелым». Мало того, что такой сайт долго грузится, на него еще не любят заходить поисковые роботы для индексации страниц.

Как таковая табличная верстка сейчас не используется, но без нее не обходятся при верстке электронных писем – там она, можно сказать, обязательна. Сама верстка разрабатывается с помощью тега <table>, который задает основные параметры таблицы – длину, ширину и прочее. Внутри тега располагаются теги <tr> и <td>, где первый необходим для создания строки, а второй – для столбца.

Табличная верстка сайта

Блочная верстка

Самый актуальный вид верстки сайтов – блочный. Он основан на теге <div>, с помощью которого создаются контейнеры, включающие в себя весь контент страницы или отдельного блока. Например, мы можем разделить сайт на несколько блоков: первый экран, о компании, контакты – для каждого блока будет отведен свой тег <div>.

Внутри тега <div> уже находятся другие теги, отвечающие за те или иные элементы. Вот пример небольшого блока:

<div>

            <h1>Привет – это мой первый сайт!</h1>

            <p>Сегодня 2021 год и я сделал свой первый сайт...</p>

            <img src="C:\Users\ya\Desktop\8ftyrtes-960.jpg" alt="">

</div>

Прописав его в HTML-документе, получим следующую страницу:
Блочная верстка сайтаПри таком подходе язык разметки HTML всегда взаимодействует с CSS-стилями, которые преобразуют обычную страницу в стильное дизайнерское решение: добавляются цвета, устанавливаются отступы для элементов, задается базовая анимация и многое другое.

Например, у нас есть тег h1, и мы хотим сделать его красным – для этого в стилях прописывается следующий код:

h1{

color: red;

}

Заголовок нашей страницы примет следующий вид:

Как изменить цвет заголовка H1

HTML и CSS обычно хранят в разных файлах – такой подход позволяет быстро вносить изменения и не путаться в больших проектах.

Также стоит сказать, что блочная верстка позволяет легко создать адаптивный сайт, что в наше время является обязательным требованием для каждого проекта. Такая разработка позволяет не только создавать сайты для телефонов и планшетов, но и обеспечивает попадание сайта в топ выдачи поисковых систем.

Вот так выглядит типичная схема блочной верстки:

Схема блочной верстки

Валидная верстка

Валидная верстка – это верстка, соответствующая стандарту W3C и означающая корректное отображение сайта на всех пользовательских устройствах. Такой подход обеспечивается строгим соблюдением правил построения кода, его оптимизации и минимизации. В результате это позволяет выводить сайт на более высокий уровень – его репутация в поисковиках сильно улучшается.

При валидной верстке элементы HTML-кода должны находиться строго на своих местах, в начале обязательно прописывается тег <!Doctype html>, а также <html>, <head>, <body>.

Когда верстка считается правильной

Существует множество правил, которых следует придерживаться во время верстки. Нарушение некоторых из них может привести к плохой оптимизации сайта.

  • Рекомендуется разбивать HTML-код, CSS-стили и JavaScript-код на разные файлы.
  • Весь написанный код должен быть чистым и легко читаемым.
  • Верстка макета сайта чаще всего должна быть пиксель в пиксель, но в некоторых случаях допускаются погрешности, согласованные с заказчиком.
  • Для оптимизации кода рекомендуется использовать методологию БЭМ от Яндекса.
  • Сайт должен работать одинаково во всех браузерах.
  • Используйте заголовки H1-H6, а также знайте, что H1 – единственный заголовок на одной странице. Важно соблюдать это правило, иначе могут появиться проблемы с поисковыми системами.
  • Также для поисковиков важно, чтобы были заполнены атрибуты <title>, <alt> и <description>.
  • Не используйте «тяжелые» изображения, чтобы избежать длительной загрузки сайта.
  • Сайт должен быть адаптирован для мобильных устройств. 

Естественно, что это не все основы «идеальной» верстки, но соблюдение даже этих правил позволит создать быстрый и устойчивый сайт.

Инструменты для верстки сайта

Верстальщик – это не простой разработчик, который работает с блокнотом и пишет в нем теги да атрибуты. 

Если говорить об инструментах разработчика, то чаще всего используются:

  • Notepad++ – простой редактор кода;
  • SublimeText – наиболее используемый редактор;
  • Webstorm – самый мощный редактор.

Последняя программа для верстки сайтов платная, однако для обучения можно получить ее студенческую версию даром и с полным функционалом.

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

После того как сайт будет сверстан, потребуется проверить его работоспособность. Базовое тестирование включает в себя проверку адаптивности на всех устройствах.

Более обширную информацию можно получить на сервисах Jigsaw.W3 и Validator.W3.

Если требуется узнать, соответствует ли верстка макету пиксель в пиксель, то для этого подойдет сервис WellDoneCode.

Сервис Page Ruler нужен как линейка, чтобы в пикселях измерить сверстанные блоки и прочие элементы страниц.

Window Resizer – расширение для Google Chrome, позволяющее узнать, насколько хорошо страница адаптирована под разные устройства.

Верстка сайта с нуля. Меню навигации. Часть 1.

Начиная с этого урока, мы будем учиться верстке сайта с нуля в популярном flat стиле. Эта тема очень объемная и мы посвятим ей не один урок. Что означает это на практике?

Представьте себе, что Вы на бирже фриланса получили заказ на верстку одностраничного сайта. Заказчик передал Вам макет в виде файла .psd и попросил сверстать HTML страницу. В работу верстальщика входит еще и нарезка макета на картинки, но мы опустим этот этап, поскольку это вопрос умения пользоваться фотошопом. На данную тему Вы можете самостоятельно поискать обучающие уроки по фотошопу.

Будем исходить из того, что заказчик оказался добрым человеком и предоставил нам вместе с макетом и заранее порезанные картинки. Для создания HTML страницы, нам потребуется: .psd макет, папка с картинками, Photoshop, Notepad++ и браузер.

Мы говорим с вами про макет, но пока это только картинка, из которой нам предстоит сделать полноценную HTML страницу.

Обратите внимание, что наш макет представляет из себя классический пример flat дизайна. Flat дизайн – это значит «плоский», здесь вы не увидите объемных теней, градиентов и других «наворотов».

Верстка сайта с нуля. Меню навигации.

Открываем макет в фотошопе и берем оттуда всю нужную информацию – цвет, шрифт, размеры и начинаем писать код, первой у нас идет шапка сайта, состоящая из логотипа и меню навигации. Разумеется, что наш сайт будет адаптивным под любые устройства и разрешения экрана, поэтому все размеры указываем в % и em.

Верстка сайта с нуля. Меню навигации.

Верстка шапки сайта

Создаем HTML страницу и делаем разметку нашей шапки. Содержимое шапки пишем внутри парного тега header.


<header>
<div class="wrap">
 <div>
 <div>
   <a href="#"><img src="logo.png" alt=""/></a>
 </div>
 <div>
  <ul>
   <li><a href="#">Главная</a></li>
   <li><a href="#">Портфолио</a></li>
   <li><a href="#">Обо мне</a></li>
   <li><a href="#">Контакт</a></li>
  </ul>
 </div>
 </div>
 </div>
</header>

Без оформления CSS стилями выглядит шапка совсем не так, как надо. В файле style.css, пропишим селекторам соответствующие свойства, чтобы шапка выглядела согласно макету.

 Верстка сайта с нуля. Меню навигации.

Разберем основные моменты. Логотип и меню навигации должны быть в одной строке. Поэтому в блоке div с логотипом задаем обтекание — float: left; Навигационное меню встанет справа от логотипа. Пункты меню должны быть в одной строке — display:inline-block; Отменить обтекание можно вставкой в код пустого дива — <div class=»clear»></div>, в стилях соответственно записываем так — .clear{clear:both;}

Код шапки сайта в файле style.css:


body {
  font-family: 'Lato', Verdana;
  font-size: 100%;
  background: #fff;
}
.wrap
{
  margin: 0 auto;
  width: 70%; /* отступы относительно окна браузера */
}
.header{
  padding: 1.3em 0em; /* поля вокруг текста */
}
.logo{
  float: left; /* обтекание логотипа */
}
.logo a {
  display: block; /* переопределение в блочный */
}
.nav {
  float: right; /* обтекание логотипа */
  margin-top: 0.82em;
}
.nav > ul > li {
  display:inline-block; /* переопределение в строчно-блочный */
}
.nav > ul > li.active a{
  background: #d0a5a5;
  color: #ffffff;
}
.nav > ul > li > a {
  display: block;
  font-family: 'Lato', sans-serif;
  font-size: 1.1em;
  text-transform: uppercase;
  padding: 0.5em 1em;
  color: #444;
  -webkit-transition: 0.9s; /* плавный переход */
  -moz-transition: 0.9s;
  -o-transition: 0.9s;
  transition: 0.9s;
}
.nav > ul > li > a:hover {
  color: #fff;
  background: #d0a5a5;
}

Код HTML разметки шапки сайта:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href='http://fonts.googleapis.com/css?family=Lato:100,300,400,700,900'
rel='stylesheet' type='text/css'>
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
<title>Портфолио мопса "Валли"</title>
</head>
<body>
<header>
  <div class="wrap">
 <div class="header">
 <div class="logo">
  <a href=""><img src="logo.png" alt=""/></a>
 </div>
 <div class="nav">
  <ul>
   <li><a href="#">Главная</a></li>
   <li class="active"><a href="#">Портфолио</a></li>
   <li><a href="#">Обо мне</a></li>
   <li><a href="#">Контакт</a></li>
  </ul>
 </div>
 <div class="clear"></div> /* отмена обтекания */
 </div>
 </div>
</header>
</body>
</html>

В процессе верстки сайта с нуля мы получаем готовую шапку сайта.

Верстка сайта с нуля. Меню навигации.

Результат работы можно посмотреть на
jsfiddle

Продолжение следует..

  • Создано 12.10.2017 12:50:40


  • Михаил Русаков

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):



Что это такое
? Верстка сайта – важный этап в разработке ресурса. Он заключается в переводе макета на «рельсы» браузера с помощью кода. Если верстка пройдет гладко, то сайт будет отображаться как надо в Google или Яндексе. Но если верстальщик ошибется, не ждите много посетителей.



Как сделать
? Не будем юлить и сразу скажем, что сверстать с нуля даже страницу у вас вряд ли получится с первого раза. Даже опытные мастера нет-нет да допускают ошибки, что уж говорить про новичков. Верстке учатся месяцами, периодически обновляя и дополняя свои знания. Хорошая новость в том, что не бывает ничего невозможного.

В статье рассказывается:

  1. Что такое верстка сайта
  2. Важность верстки при разработке сайта
  3. Основные виды верстки сайта
  4. Суть валидной верстки
  5. Техники верстки
  6. Инструменты для верстки сайта
  7. Пошаговая верстка сайта для начинающих с нуля
  8. Как проверить верстку
  9. Критерии правильной верстки сайта
  10. Распространенные ошибки верстки сайта
  11. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains

Что такое верстка сайта

Все современные веб-сайты разрабатываются специалистами двух направлений:

  1. Бэкенд — разработка внутренней (серверной) функциональной части сайта;
  2. Фронтенд — разработка пользовательского интерфейса (видимой части) сайта.

Фронтенд-специалисты — это верстальщики и разработчики. Первые в своей работе используют связку HTML и CSS, вторые непосредственно программируют сайт на языке JavaScript.

Основным форматом деятельности верстальщиков является верстка сайта по макету. Грубо говоря, дизайн-макеты переводятся на понятный браузеру язык с помощью кода HTML+CSS. Таким образом, верстальщик реализует задуманные дизайнером идеи путем превращения изображений в полноценный веб-сайт. Специалисты пользуются следующими средствами:

  • HTML — язык разметки, определяющий структуру и содержимое сайта, задающий местоположение каждого элемента;
  • CSS — язык описания внешнего представления элементов, задающий конкретные значения размера, цвета и формы;
  • JavaScript — язык, определяющий поведение объектов при взаимодействии пользователя с ними.

pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

Уже скачали 22634 pdf иконка

Каждый верстальщик руководствуется собственными правилами в процессе верстки сайта. Основы, общие для всех, тем не менее, существуют. Некие общие принципы специалисты стремятся соблюдать для обеспечения надежной работы сверстанного сайта на любых устройствах, а также понятности кода для других верстальщиков и программистов.

Важность верстки при разработке сайта

Именно внешний вид сайта, реализуемый дизайнером и верстальщиком, производит первое впечатление на пользователя. Дизайн-макет при этом остается за кадром. И главная роль здесь отводится верстальщику, ведь от качества его работы зависит, понравится ресурс целевому посетителю или нет.

Важность верстки при разработке сайта

Важность верстки при разработке сайта

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

Помимо этого, качественная верстка обеспечивает успех поисковому продвижению, отражаясь как на технических, так и на поведенческих факторах ранжирования.

Грамотно сверстанный веб-сайт доступен для поисковых роботов. Будет ли проиндексирован весь контент, зависит от правильности верстки сайта. Что это дает в итоге? Роботу, например, становится известно, где расположен основной контент, а что является лишь вспомогательным элементом. Также создается четкая структура страниц.

Верстка напрямую влияет на посещаемость. Если элементы страницы находятся не на своих местах, перекрывают друг друга, пользователи на таком сайте не будут задерживаться. Поэтому верстка не столько создает эстетику, сколько определяет более перспективные возможности, включая продвижение.

Основные виды верстки сайта

В настоящий момент широко используются пять видов верстки.

Адаптивная

Основные параметры сайта подстраиваются под характеристики пользовательского устройства. Ресурс в результате должен удобно читаться практически с любого гаджета или компьютера.

В процессе адаптивной верстки сайта HTML код пишется под несколько вариантов разрешений экрана. Как минимум, страницы адаптируют под ПК, ноутбуки, планшеты и смартфоны. Используемые при этом брейк-поинты (точки слома) сообщают браузеру места кода, где сайт необходимо трансформировать для обеспечения максимальной читаемости.

Мобильная

Сайт создается на выделенном поддомене и адаптируется только под мобильные устройства. Соответственно, ресурс станет удобен для чтения лишь пользователям смартфонов и планшетов. Мобильная верстка сайта по сравнению с адаптивной менее затратна. Выбирать этот вариант целесообразно, когда использование ресурса с компьютера или ноутбука изначально не предусматривается.

Фиксированная

В данном случае макет разрабатывается с фиксированными параметрами (например, с точным указанием размеров в пикселях). Такой подход устарел и применяется редко.

Отзывчивая (Responsive)

Во многом напоминает адаптивную верстку, но в то же время принципиально отличается от нее. Отличие заключается в действиях на брейк-поинтах. Если в адаптивном варианте браузер резко меняет сверстанный макет, то в отзывчивом происходит плавное изменение верстки между точками слома с максимальным сохранением стабильного вида страницы. Фактически данный подход сочетает в себе признаки адаптивности и «резиновости».

Резиновая

Ширина блока задается в процентах от ширины экрана пользователя. Благодаря этому «резиновые» сайты одинаково хорошо читаются с любых устройств. Тем не менее, адаптивная верстка, равно как и отзывчивая, постепенно вытесняет резиновую.

Суть валидной верстки

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

Суть валидной верстки

Суть валидной верстки

Как учебный проект верстки сайта, так и реальная разработка могут быть валидными. Стандарт W3C требует размещать элементы HTML строго в определенных местах. Начало кода предваряется тегом <!Doctype html>, также обязательно присутствуют блоки <html>, <head>, <body>.

Техники верстки

Существует несколько техник, каждая из которых обладает как плюсами, так и минусами. Верстальщик самостоятельно выбирает наиболее оптимальную из них в зависимости от ситуации.

Табличный метод

Страница условно разделяется на строки из отдельных ячеек подобно таблице Excel. В каждой такой ячейке можно разместить контент. Таблица задается тегом <table> и основными параметрами (ширина, длина). Внутри прописываются теги <tr> и <td>, определяющие соответственно строки и столбцы.

Такая схема используется уже на протяжении долгого времени. Она обеспечивает надежность и простоту верстки, а также гарантирует масштабирование столбцов таблицы под любую ширину пользовательского экрана. Созданные веб-сайты в итоге имеют более-менее одинаковый вид в разных браузерах.

Однако табличная верстка сайта обладает многими недостатками, из-за чего ее применение в дальнейшем становится нецелесообразным.

  • Проблемы с загрузкой сайта при плохом соединении

Для корректного отображения контента необходимо, чтобы страница загрузилась полностью. При использовании в верстке достаточно больших таблиц скорость загрузки заметно падает.

Скачать
файл

  • Тяжелый код

Размещение картинок посередине страницы при табличном методе требует предварительного создания таблицы из трех колонок. Далее в средний столбец загружается изображение, а крайние оставляются пустыми в качестве ограничителей (фиксаторов) положения картинки. Таким образом в процессе верстки возможно придется создавать десятки таких таблиц. Этот метод существенно утяжеляет код, да и сама верстка сайта для новичков усложняется.

  • Вероятные проблемы с индексацией

Поисковым роботам, как правило, сложно воспринимать структуру и иерархию страницы, сверстанной табличным методом. Целостность контента теряется, поскольку его части разделены громоздкими фрагментами кода.

  • Превалирование HTML-кода над отображаемым контентом

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

Итак, табличный метод верстки уже можно считать устаревшим. Тем не менее, он до сих пор активно применяется при формировании электронных писем. В разработке сложных сайтов используются более современные техники.

Послойный метод

Реализуется использованием в коде тега <layer>. Верстка слоями обладает важными преимуществами перед табличным методом — возможностью накладывания элементов друг на друга и наличием функции подгрузки контента из файла.

Блочный метод

Будучи модификацией послойного метода, верстка блоками в настоящее время является единственно валидной. Аналогом слоев здесь служат блоки (контейнеры) прямоугольной формы. Прямоугольник как фигура привлекателен тем, что его можно делить на такие же фигуры меньших размеров бесконечное число раз. Это свойство позволило значительно повысить гибкость верстки.

Каждый такой контейнер задается парным тегом <div>, внутри которого помещается любой контент. Таким образом, например, выполняется верстка шапки сайта и других структурных единиц. Хотя ничто не ограничивает верстальщика использовать дивы как угодно:

  • Размещение всего кода в одном блоке
  • Использование отдельных пар тегов <div> для каждого смыслового блока (обложка, информация о компании, преимущества продукта и т. д.)
  • Разделение элементов дизайна одного смыслового блока по разным контейнерам

Итак, блочный метод предоставляет верстальщику чрезвычайно гибкие возможности. А внедрение стилей CSS превращает эти возможности в безграничные.

Перечислим основные достоинства блочной верстки сайта.

  • Сравнительно легкий код

Малый объем кода обеспечивает быструю загрузку сайта на устройстве пользователя и сниженную нагрузку на сервер. По сравнению с табличной версткой здесь можно позиционировать блоки в любом месте экрана, задавая им координаты. При этом отпадает необходимость в создании пустых фиксаторов.

  • Понятность и читаемость кода

Понятность и читаемость кода

Понятность и читаемость кода
  • Возможность реализовывать дизайн любой сложности
  • Превосходная считываемость кода поисковыми роботами

С точки зрения SEO это идеальный метод. Роботы сразу распознают семантическую структуру сайта и поэтому достаточно быстро его индексируют.

Положительное влияние верстки сайта блоками на поисковую оптимизацию, скорее всего, покажется неочевидным, если рассматривать этот метод лишь как последовательное расположение оформленных блоков. Однако с точки зрения самого принципа блочной компоновки данное утверждение не лишено смысла.

Дарим скидку от 60%
на обучение «Веб-разработчик» до 01 октября

Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей

Забронировать скидку


Но такая техника верстки требует дополнительных усилий, чтобы страница выглядела одинаково во всех браузерах. Иногда добиться этого бывает достаточно тяжело.

Фреймовый метод

Фреймом называют элемент, отображающий отдельную страницу HTML. Такие элементы рассматриваются независимо друг от друга. Верстка страницы сайта же ограничена одним единственным HTML-файлом, имеющим сравнительно небольшой размер. Это позволяет избегать повторяющихся фрагментов кода.

Однако верстка фреймами приводит в результате к наихудшей индексации поисковыми роботами. Страницы воспринимаются как частично не наполненные контентом с одной стороны и не содержащие ссылок с другой. Соответственно, роботы не могут получить и передать внутренний вес сайта.

К тому же верстка веб-сайта данным методом в дальнейшем доставляет неудобства пользователю. В частности, по причине отсутствия отдельных URL у внутренних страниц последние не получится добавить в закладки.

Инструменты для верстки сайта

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

  • Графические инструменты. Позволяют видеть промежуточный результат в процессе работы. В данной категории большой популярностью пользуются такие программы, как Adobe Photoshop, Gimp, Krita и т. п. Верстальщики здесь могут всесторонне изучать дизайн-макет для планирования своих дальнейших действий.
  • Редакторы кода. Это основной инструментарий для верстки сайта. Работа верстальщика может осуществляться во множестве профессиональных редакторов, среди которых Notepad++, Adobe Dreamweaver, CSS3 Generator, SublimeText, Firebug, WinMerge, VSCode, JetBrains WebStorm. Отдельно стоит отметить VSCode. Этот бесплатно распространяемый редактор обладает наиболее широким функционалом из всех благодаря наличию всевозможных плагинов. В качестве платной альтернативы можно рассмотреть JetBrain WebStorm. Редактор предлагает глубокую интеграцию с другими инструментами разработки. Из дополнительных опций имеются автодополнение кода и автоформатирование.
  • Гибридные инструменты. Представляют собой блочные конструкторы, предлагающие возможность ручной верстки сайта. Дизайн и код в таких мощных программах, как Adobe Dreamweaver, могут создаваться совместно либо по отдельности.

Пошаговая верстка сайта для начинающих с нуля

Ниже покажем пошагово, как сверстать простой сайт с самого начала.

Шаг 1. Выбор готового шаблона

Во-первых, следует отыскать перед версткой сайта шаблон в формате Adobe Photoshop. Саму программу, соответственно, нужно приобрести или скачать.

Только до 25.09

Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней

Список документов:


ТОП-100 площадок для поиска работы от GeekBrains


20 профессий 2023 года, с доходом от 150 000 рублей


Чек-лист «Как успешно пройти собеседование»

Чтобы получить файл, укажите e-mail:

Введите e-mail, чтобы получить доступ к документам

Подтвердите, что вы не робот,
указав номер телефона:

Введите телефон, чтобы получить доступ к документам


Уже скачали 52300

Шаг 2. Создание файлов и папок страницы

Этот этап также можно считать подготовительным. Прежде всего нужно выбрать подходящий хостинг для размещения файлов будущего сайта и распределения их по папкам. Хостинг-провайдеры обычно предоставляют свои услуги платно, но есть и бесплатная альтернатива — установка сервера WAMP. Правда, это потребует затрат времени на тонкую настройку.

Пошаговая верстка сайта для начинающих с нуля

Пошаговая верстка сайта для начинающих с нуля

Корневая папка www должна содержать файл index.html с кодом основной страницы, а также папки css и images. При отсутствии этих элементов их нужно создать. Далее в css и images загружаются соответственно стили (как минимум, файл styles.css) и изображения.

Шаг 3. Создание структуры страницы

Примерная отрисовка основных блоков и определение их содержимого — первое, с чего начинается, собственно, верстка сайта с нуля. HTML и CSS затем используются для описания намеченной структуры.

<!DOCTYPE html>

<html lang=»ru»>

<head>

<meta charset=»utf-8″ />

<title>Название сайта</title>

</head>

<body>

<div id=»wrapper»>

<div id=»header»></div>

<div id=»sidebar»></div>

<div id=»content»></div>

<div id=»footer»></div>

</div>

</body>

</html>

Итак, в формате блочной верстки сайта код содержит общий див, внутри которого создаются функциональные блоки с собственными id для более удобного обращения к ним средствами CSS.

Шаг 4. Нарезка отдельных изображений из макета

Работа выполняется в Adobe Photoshop. Сложные картинки, не являющиеся одноцветными прямоугольниками, вырезаются из макета и сохраняются в отдельных JPG-файлах. Их затем следует загрузить на хостинг в папку images.

Шаг 5. Компоновка всех элементов

Это, пожалуй, самый ответственный этап, когда необходимо собрать исходный макет на сформированном каркасе с использованием сохраненных изображений и стилей. Для воссоздания оригинального цвета полезно пользоваться пипеткой. Шрифт текстовых блоков определяется по их свойствам.

Шаг 6. Тестирование

В соответствии с регламентом W3C теги прописываются в строго определенных местах и при необходимости закрываются. Подключенные стили не должны противоречить друг другу. Хотя работа со стилями CSS может быть весьма трудоемкой, поэтому вполне вероятно появление ошибок. Важно своевременно отыскать их, проверив валидность кода с помощью специальных сервисов.

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

По завершении создания сайта верстка нуждается в тестировании на различных устройствах.

  • Общую проверку удобно проводить, используя сервисы Jigsaw.W3 и Validator.W3. Результат тестирования оформляется в виде подробного отчета.
  • Чтобы узнать, соответствуют ли две картинки друг другу в точности до пикселя, хорошо подойдет программа WellDoneCode.
  • С помощью сервиса Page Ruler можно легко измерять расстояния между различными объектами верстки в пикселях.
  • Проверка адаптации сайта под разные устройства осуществляется, например, в расширении для Google Chrome под названием Window Resizer.

Критерии правильной верстки сайта

Хорошая верстка сайта должна следовать главному принципу — как можно более ранней реализации удобных решений. Следовательно, опытный верстальщик с самого начала взаимодействует с дизайнером, чтобы предусмотреть вероятные изменения в структуре. Возможно, потребуется добавить какие-то новые элементы на сайт, обеспечить поддержку новых устройств и программ.

Например, верстается интернет-магазин. Изначально запланировано отображение на главной странице пяти товарных карточек. А что случится с разметкой при попытке добавить шестую, если возникнет такая необходимость? Этот момент следует заранее обсудить с дизайнером. Одно из адекватных решений в данном случае будет заключаться в переносе новой карточки на другую строку.

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

Доступность

Под доступностью подразумевается одинаково хорошая считываемость сайта пользователями с любыми особенностями здоровья с использованием любых устройств.

Критерии правильной верстки сайта

Критерии правильной верстки сайта

К примеру некоторые элементы верстки могут плохо читаться при воздействии яркого солнечного света. Решить эту проблему позволяют специальные плагины для Figma. В частности, дизайнеры выполняют проверку на контрастность, используя следующие дополнения:

  • Contrast (для определения доступности цветового контраста каждого элемента в макете).
  • Adee Comprehensive Accessibility Tool (для проверки цветового контраста и последующего моделирования предполагаемого отображения дизайна для людей с разными формами дальтонизма).
  • HCL Easy (для быстрого подбора цветовой гаммы в соответствии с заданными требованиями контрастности и разными особенностями цветовосприятия людей).
  • Low Vision (для тестирования пользовательского интерфейса на предмет восприятия людьми с различными типами нарушения зрения).

Зачастую на разрабатываемом сайте в полях ввода предполагается подкрашивание текста зеленым или красным в зависимости от правильности ввода данных. Однако, например, дальтоники воспринимают цвета по-другому. Поэтому с целью обеспечения доступности требуется дополнительно показывать правильность ввода значками (обычно галочкой и крестиком).

Отзывчивость

Отзывчивый веб-сайт быстро реагирует на изменение размера окна или экрана, а также на изменение настроек пользователем. Верстка готового сайта должна предусматривать вероятные изменения.

Интерактивность

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

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

Кроссбраузерность

Кроссбраузерная верстка фактически аналогична обычной верстке по макету. Проверяются правильность расположения шрифтов, совпадение расстояний между строками и текстовыми символами, идентичность размеров иконок и т. п. Такую проверку можно проводить, используя Pixel Perfect и WellDoneCode, которые реализованы в виде плагинов для браузеров:

  • Pixel Perfect для Firefox;
  • Pixel Perfect для Google Chrome;
  • Кроссбраузерный WellDoneCode.

С помощью данных расширений можно накладывать дизайн-макет прямо поверх сверстанной страницы. Различия будут видны сразу.

Отсутствие переполнения

Переполнением называют выход контента за пределы содержащего его контейнера, например, при верстке сайта интернет-магазина. Избежать этого можно, используя блок плавающих размеров. Конкретные значения высоты и ширины желательно устанавливать в зависимости от габаритов содержимого.

Книги по Golang, с которыми обязательно стоит ознакомиться

Читайте также

Популярностью среди дизайнеров пользуется практика уменьшения размера шрифта в мобильной версии сайта. Но лучше эту задачу реализовать путем переноса текста и создания обтекаемых контейнеров, размер которых определяется объемом содержимого.

Распространенные ошибки верстки сайта

После выполнения всех основных шагов разработки сайта остается перенести макет в формат HTML. Этот процесс, тем не менее, сопряжен с трудностями. Поэтому расслабляться на завершающем этапе разработки было бы преждевременно.

Распространенные ошибки верстки сайта

Распространенные ошибки верстки сайта

Например, часто готовый сайт в результате выглядит не так, как задумывалось дизайнером. Оттенки цветов получились другими, размеры изображений не совпадают с макетом и т. д.

Далее приведем некоторые советы, помогающие обеспечить максимальное соответствие сверстанной страницы дизайн-макету. Рекомендации будут полезны в случае любых задач верстки сайта — тренировки, обучения или реальной разработки.

  1. Не следует повсеместно использовать теги <div>. Для URL-ссылок, списков, картинок и параграфов в HTML предусмотрены отдельные теги. Строки же определяются в стилях как блочные элементы.
  2. Значения классов и ID должны быть корректными. Если в HTML-коде и в файле стилей они не совпадают, браузер не сможет правильно интерпретировать директивы HTML. Поэтому в процессе верстки важно проверять все уникальные ID, особенно у контейнеров с одними и теми же свойствами.
  3. Следует своевременно проверять код на наличие опечаток, лишних и недостающих символов. Такие ошибки вполне могут допускать даже опытные разработчики, поэтому проверка необходима во время любой верстки сайта. Программы, специально созданные для автоматизации этого процесса, подсвечивают найденные в коде опечатки, чем значительно облегчают работу верстальщика. В современных редакторах также присутствует подсветка синтаксиса, облегчающая восприятие текста.
  4. Единицы измерения размера для типографики и блоков должны быть идентичными. Чаще всего размер и расстояния измеряются в пикселях (px). Важно постоянно проверять, что в HTML и CSS используются одни и те же единицы. Особое внимание нужно уделять относительным единицам (em), характерным для адаптивной верстки.
  5. Файлы нужно именовать корректно, не допуская кириллических и специальных символов, а также пустых пробелов в названиях. Если, например, название файла изображения состоит из нескольких слов, их следует разделять дефисами, а не пробелами.
  6. Следует проявлять осторожность, меняя структуру контейнеров в процессе блочной верстки. И хотя данный метод основывается на простом принципе «меньшее внутри большего», иерархия блоков может получиться достаточно сложной. Во избежание ошибок рекомендуется пользоваться валидаторами. Они предостерегают верстальщика в случае размещения большого блока внутри малого, маркируя соответствующие строки кода. Увеличение сложности блочной структуры повышает вероятность допущения ошибок, поэтому валидаторами пренебрегать не нужно.

Новичкам стоит обратить внимание на специально разработанные для верстки сайтов курсы. Например, в некоторых онлайн-школах существуют полноценные программы «Верстальщик», а также бесплатные интенсивы «Основы разработки».

Пройти профессиональное обучение верстке сайтов очень важно, ведь специалист в итоге сможет быстро войти в достаточно востребованную и ответственную профессию. Даже несмотря на то, что многие современные сервисы значительно облегчают такую работу, навыки и уверенность точно не будут лишними для верстальщика.

Освойте новую интересную профессию Frontend-разработчика. Всё, что нужно для старта: основы веб-разработки и создания пользовательских интерфейсов для сайтов и приложений. Вы научитесь проектировать, разрабатывать и тестировать фронтенд-часть проектов, используя современные технологии и инструменты. Присоединяйтесь к команде преподавателей и студентов. Ваш профессиональный успех начинается здесь и сейчас.

Понравилась статья? Поделить с друзьями:
  • Нутрисел инструкция по применению для крс
  • Кальциум магнезиум цинк инструкция по применению цена отзывы
  • Мануал по форд мустанг
  • Инструкция для samsung galaxy note 4
  • Двигатель ваз 21214 мануал