Создание сайта с нуля самостоятельно пошаговая инструкция на html

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

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

Какие теги HTML важно знать новичку 

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

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

  • <!DOCTYPE html>. Обозначение типа документа, который обозначает версию HTML. 
  • <html>. Основной тег, включающий весь код на странице. Это контейнер для всех остальных элементов: иными словами, он помогает группировать контент. 
  • <head>. Включает метаданные. В тег <head> можно добавлять ключевые слова для SEO-продвижения и перелинковки со сторонними сайтами. 
  • <title>. Определяет заголовок страницы: именно в таком виде пользователь видит его в браузере. 
  • <body>. Включает видимую часть контента. Поэтому все, что будет доступно пользователю, нужно заключить в этот тег. 
  • <h1> – <h6>. Теги, обозначающие заголовки. Например, <h1> — основной заголовок, обычно это название всей страницы. А <h2> — подзаголовок, название раздела. 
  • <p>. Тег, который используется для формирования текстовых блоков. 
  • <a>. Гиперссылка. Позволяет размещать ссылки на другие страницы или сторонние ресурсы. 
  • <img>. Тег для размещения картинок. 
  • <ul>, <ol>. Списки — нумерованные и маркированные соответственно. 
  • <table>. Тег для добавления таблиц.  
  • <form>. Нужен для вставки форм обратной связи, чтобы пользователи могли отправлять данные на сервер. 
HTML-код

Как выглядит базовая HTML-структура. Источник

Как стилизовать код на HTML с помощью CSS 

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

У CSS есть несколько основных свойств, которые нужно знать для работы с HTML-кодом: 

  • color. Обозначает цвет текстовых блоков. 
  • background-color. Определяет цвет фона любого элемента страницы. 
  • font-size. Обозначает размер шрифта. 
  • margin. Устанавливает внешние отступы — расстояние между разными элементами. 
  • padding. Добавляет внутренние отступы, то есть расстояние между границей и содержимым элемента. 
  • border. Определяет границу элемента — ширину, стиль, оттенок. 

Как JavaScript делает сайты на HTML удобнее 

Чтобы создавать интерактивные и удобные для пользователей страницы, нужно знать JavaScript — язык программирования, благодаря которому интерфейс будет реагировать на команды пользователей. Например, показывать уведомления или открывать всплывающее окно при нажатии на определенную кнопку. Иными словами, JavaScript нужен, чтобы создать видимую часть сайта — фронтенд (frontend). 

Для работы с JavaScript важно знать основные концепции этого языка программирования: 

  • Переменные. Нужны для хранения информации и обозначаются ключевыми словами var, let или const. 
  • Функции. Блоки с кодом для реализации конкретных команд. 
  • События. То, что происходит после выполнения пользователем определенных действий. Например, когда человек кликает мышкой на определенный значок, открывается меню сайта. 

Среда для разработки сайта на HTML 

Чтобы сделать сайт на HTML, понадобится обычный текстовый редактор, например, блокнот, или IDE — интегрированная среда разработки. Чаще всего программисты используют такие инструменты: 

  1. Visual Studio Code. Бесплатный текстовый редактор, который поддерживает разные языки программирования и подходит для создания веб- и облачных приложений. Работает на операционных системах Windows, Linux и macOS. Важно различать Visual Studio Code и Visual Studio, потому что последний — это не текстовый редактор, а IDE. Этот инструмент более масштабный, но тяжеловесный и сложный в освоении. 
  2. Atom. Бесплатный текстовый редактор для Linux, macOS, Windows, который поддерживает плагины, написанные на JavaScript. Инструмент легко настраивать под себя, поэтому его часто выбирают новички. 
  3. Sublime Text. Кроссплатформенный текстовый редактор для написания кода на разных языках, в том числе HTML, CSS и JavaScript. Также с его помощью можно верстать веб-страницы. Инструмент платный, но есть бесплатная ознакомительная версия. 
  4. Notepad++. Один из самых популярных бесплатных текстовых редакторов для Windows. Внешне он напоминает блокнот, но инструмент более функциональный.  Важно различать Notepad++ и Notepad. Последний — это обычный «Блокнот», который по умолчанию есть на разных устройствах Windows. 
Текстовый редактор Notepad++

Notepad++ можно использовать не только для написания кода, но и для заметок или создания текстов 

Создание сайта на HTML: основные этапы 

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

Этап 1. Создайте HTML-структуру 

Откройте текстовый редактор и добавьте такой код: 

<!DOCTYPE html>

<html lang="en">

<head>

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta charset="UTF-8">

    <title>Отель "Добрые лапки"</title>

</head>

<body>

    <div class="wrapper">

        <header class="header">

            <div>

                Logo

            </div>

            <nav class="menu">

                <a class="menu__item" href="#">Главная</a>

                <a class="menu__item" href="#">Услуги</a>

                <a class="menu__item" href="#">Контакты</a>

                <a class="menu__item" href="#">Отзывы</a>

            </nav>

        </header>

        <main class="main">

            <section class="about">

                <h2>Добро пожаловать в отель для кошек «Добрые лапки»!</h2>

                <p>

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

                    Предлагаем круглосуточное наблюдение за хвостиками, полноценное питание, уход и приятную компанию!

                </p>

                <p>

                    Также у нас можно купить товары для ваших любимцев

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

                </p>

            </section>

        </main>

        <footer class="footer">

            <div>

                Телефон: +7(ххх)-ххх-хх-хх

            </div>

            <div>

                Email: mail@mail.ru

            </div>

        </footer>

    </div>

</body>

</html>

Это структура сайта. Здесь есть заголовок, описание страницы, контакты и разделы меню. Этот код в будущем легко дополнить любым контентом. 

Cайт на HTML

Так выглядит сайт на HTML для пользователей

Этап 2. Добавьте стилей с помощью CSS 

Чтобы стилизовать страницу, например, придать оттенки тексту и задать нужные шрифты, вставьте такой код в раздел <head>: 

<style>

    body {

        font-family: Arial, sans-serif;

        margin: 0;

        padding: 0;

        background: #f7f0f0;

    }

    .wrapper {

        display: flex;

        flex-direction: column;

        min-height: 100vh;

    }

    .header {

        display: flex;

        justify-content: space-between;

        padding: 20px;

        border-bottom: 1px solid #000000;

    }

    .menu {

        display: flex;

        gap: 15px;

    }

    .menu__item {

        color: #000000;

        text-decoration: none;

    }

    .main {

        padding: 20px;

    }

    .about {

        text-align: center;

    }

    .footer {

        margin-top: auto;

        padding: 20px;

        border-top: 1px solid #000000;

    }

</style>

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

Стилизация страницы с помощью CSS

Как выглядит сайт после стилизации с помощью CSS-кода

Этап 3. Придайте интерактивности с помощью JavaScript 

В раздел <body> вставьте такой JS-код: 

<script>

    document.addEventListener('DOMContentLoaded', function() {

        const linkContacts = document.querySelector('.menu__item_contacts');

        const modal = document.querySelector('.modal');

        const modalClose = modal.querySelector('.modal__close')

        linkContacts.addEventListener('click', function(event) {

            event.preventDefault();

            modal.classList.add('modal_active');

        });

        modalClose.addEventListener('click', function(event) {

            event.preventDefault();

            modal.classList.remove('modal_active');

        });

    });

</script>

Мы написали код на JS, который показывает окно с контактами при нажатии на пункт меню «Контакты». Также добавили код, который закрывает данное окно при нажатии на крестик. 

Интерактивность с помощью JS

После внедрения кода на JavaScript страница преобразилась

Как создать сайт на HTML: коротко о главном 

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

Пройдите тест, узнайте какой профессии подходите

Работать самостоятельно и не зависеть от других

Работать в команде и рассчитывать на помощь коллег

Организовывать и контролировать процесс работы

Введение в HTML и основные понятия

HTML (HyperText Markup Language) — это стандартный язык разметки для создания веб-страниц. Он используется для структурирования контента на веб-странице и описания его семантики. HTML состоит из элементов, которые представляют собой теги, заключенные в угловые скобки. Эти элементы формируют структуру веб-страницы и могут включать текст, изображения, ссылки и другие мультимедийные компоненты.

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

Основные понятия, которые необходимо знать:

  • Теги: Основные строительные блоки HTML. Пример: <html>, <head>, <body>. Теги могут быть парными (с открывающим и закрывающим тегом) или одиночными.
  • Атрибуты: Дополнительные параметры тега, которые предоставляют дополнительную информацию. Пример: <a href="https://example.com">. Атрибуты всегда указываются в открывающем теге и могут содержать различные значения.
  • Элементы: Комбинация открывающего и закрывающего тега и содержимого между ними. Пример: <p>Это абзац.</p>. Элементы могут содержать текст, другие элементы и атрибуты.
Кинга Идем в IT: пошаговый план для смены профессии

Подготовка рабочей среды

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

Выбор текстового редактора

Для написания HTML-кода можно использовать любой текстовый редактор, но для удобства рекомендуется выбрать специализированный редактор, такой как:

  • Visual Studio Code: Бесплатный и мощный редактор с поддержкой множества расширений. Он предлагает функции подсветки синтаксиса, автодополнения и интеграции с системами контроля версий.
  • Sublime Text: Быстрый и легкий редактор с множеством функций. Он поддерживает плагины и имеет удобный интерфейс, что делает его популярным среди разработчиков.
  • Atom: Редактор с открытым исходным кодом, поддерживающий множество плагинов. Atom предлагает гибкость и настраиваемость, что позволяет адаптировать его под свои нужды.

Установка веб-браузера

Для просмотра и тестирования вашего сайта потребуется веб-браузер. Рекомендуется использовать современные браузеры, такие как:

  • Google Chrome: Популярный браузер с мощными инструментами разработчика.
  • Mozilla Firefox: Браузер с открытым исходным кодом и хорошей поддержкой стандартов.
  • Microsoft Edge: Современный браузер от Microsoft с поддержкой последних технологий.

Создание базовой структуры HTML-документа

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

Объяснение кода

  • <!DOCTYPE html>: Объявление типа документа, указывающее браузеру, что используется HTML5. Это обязательный элемент, который должен быть первым в документе.
  • <html lang="ru">: Открывающий тег HTML с атрибутом языка. Атрибут lang указывает язык содержимого страницы, что важно для поисковых систем и доступности.
  • <head>: Секция документа, содержащая метаданные. В этой секции размещаются теги, которые не отображаются непосредственно на странице, но важны для ее функционирования.
  • <meta charset="UTF-8">: Установка кодировки символов. Кодировка UTF-8 поддерживает большинство языков и символов, что делает ее универсальной.
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">: Обеспечение адаптивности страницы. Этот тег позволяет странице корректно отображаться на устройствах с различными размерами экранов.
  • <title>: Заголовок страницы, отображаемый в браузере. Этот заголовок виден на вкладке браузера и важен для SEO.
  • <body>: Основное содержимое страницы. Все, что находится внутри этого тега, будет отображаться на веб-странице.

Добавление контента и элементов оформления

Теперь можно добавить больше контента и элементов оформления на вашу веб-страницу. HTML предоставляет множество возможностей для создания разнообразного и интерактивного контента.

Добавление изображений

Чтобы добавить изображение, используйте тег <img>:

Тег <img> является одиночным и не требует закрывающего тега. Атрибут src указывает путь к изображению, а атрибут alt предоставляет текстовое описание изображения, что важно для доступности и SEO.

Создание ссылок

Для создания гиперссылок используется тег <a>:

Тег <a> позволяет создавать ссылки на другие страницы или ресурсы. Атрибут href указывает URL, на который будет вести ссылка. Текст между открывающим и закрывающим тегами <a> будет отображаться как ссылка.

Форматирование текста

HTML предоставляет множество тегов для форматирования текста:

  • Абзацы: <p>Это абзац.</p>. Абзацы используются для разделения текста на логические блоки.
  • Заголовки: <h1>Заголовок 1</h1>, <h2>Заголовок 2</h2> и т.д. Заголовки помогают структурировать контент и важны для SEO.
  • Жирный текст: <strong>Жирный текст</strong>. Тег <strong> используется для выделения важного текста.
  • Курсив: <em>Курсив</em>. Тег <em> используется для выделения текста курсивом.

Пример расширенной структуры

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

Публикация и тестирование сайта

После создания HTML-документа необходимо опубликовать его на веб-сервере и протестировать. Публикация сайта позволяет сделать его доступным для пользователей в интернете.

Выбор хостинга

Для публикации сайта потребуется веб-хостинг. Существуют бесплатные и платные варианты:

  • GitHub Pages: Бесплатный хостинг для статических сайтов. Отличный выбор для небольших проектов и личных сайтов.
  • Netlify: Бесплатный и платный хостинг с поддержкой CI/CD. Подходит для более сложных проектов с автоматизацией.
  • Vercel: Бесплатный и платный хостинг с поддержкой Next.js. Идеален для проектов, использующих современные фреймворки.

Загрузка файлов на сервер

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

Тестирование сайта

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

  • Адаптивность дизайна: Убедитесь, что сайт корректно отображается на мобильных устройствах и планшетах.
  • Скорость загрузки: Проверьте, насколько быстро загружается ваш сайт. Медленная загрузка может отпугнуть пользователей.
  • Корректность отображения элементов: Убедитесь, что все элементы сайта отображаются правильно и работают как задумано.

Теперь вы знаете, как создать сайт с нуля на HTML. Удачи в ваших начинаниях! 😉

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

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

Условно процесс создания сайта (web-проекта) можно разделить на 3 этапа:

  • Планирование
  • Дизайн
  • Разработка

Планирование

Данный этап можно разделить на несколько подэтапов:

  • Создание идеи
  • Разработка структуры проекта
  • Проработка макета проекта

Создание идеи

На данном этапе нам необходимо определиться с тематикой проекта (сайта, сервиса). Далее, в соответствии с выбранной темой, необходимо собрать соответствующие материалы: текстовые, графические.

Разработка структуры проекта

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

Проработка макета проекта

После того, как мы определились со структурой проекта можно составить макет проекта (схематично).

Для отрисовки наброска можно использовать бумагу и ручку, Photoshop, любой другой редактор графики (раньше часто использовали Adobe Fireworks). Важно отметить, что данный этап – это не отрисовка готового дизайн-макета, а всего лишь схематичный набросок, выполненный для понимания того, как на сайте будут располагаться основные информационные блоки, графика и прочие элементы дизайна.

Основные элементы страницы

Зачастую основными элементами страницы являются: содержащий блок (wrapper, container), логотип, навигация, контент, футер (нижний колонтитул), свободное пространство (по сути свободное пространство — это не элемент дизайна, но понятие, помня о котором при составлении макета страницы, наш проект не будет выглядеть как нагромождение блоков).

Содержащий блок (контейнер)

Роль контейнера на странице может выполнять непосредственно элемент body или же div. Ширина содержащего блока может быть резиновой (fluid), а может быть фиксированной (fixed).

Логотип

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

Навигация

Основная навигационная панель содержит ссылки на основные разделы сайта. Навигационная панель часто располагается в верхней части страницы (в независимости от того вертикально или горизонтально располагаются элементы навигации).

Контент

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

Нижний колонтитул (footer)

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

Резиновый и фиксированный макет

Фиксированный макет

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

Резиновый макет

«Резиновый» макет подразумевает, что страница сайта будет стараться занять всё доступное ей пространство на экране пользователя, подстраиваясь под разрешение.

В данном контексте стоит уяснить такие понятия, как отзывчивый веб-дизайн (Responsive Web Design aka. RWD) и адаптивный веб-дизайн (Adaptive Web Desing aka. AWD). Первое понятие укладывается в концепцию «резинового» и означает, что при изменении размера экрана ваш сайт подстраивается под него, второе понятие подразумевает, что при разработке вы определяете основные разрешения (размеры экрана), под которые будет подстраиваться (адаптироваться) ваш контент. В обоих случаях следует разрабатывать не один, а несколько макетов, которые будут соответствовать разным разрешениям экрана. Часто создаётся 3 макета под разрешения iPhone (Android Phone), iPad (Android Tablet) и Desktop.

На данном изображении показаны оба подхода. Сверху блок «отзывается» на любые изменения размера контейнера, снизу «адаптируется» под определённую ширину

Полезные ссылки по теме:

  • Пример сайта, использующего концепцию адаптивного веб-дизайна
  • Статья, в которой разбирается данная концепция (eng.)
  • Книга об отзывчивом веб-дизайне

Почему при «резиновом» дизайне создаётся несколько макетов, а не используется один?

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

Модульная сетка

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

Наиболее популярной системой является модульная сетка 960 Grid System (http://960.gs), которая максимально делит страницу на 12, 16 и 24 колонки. Максимум в ширине сетка имеет 960 пикселей. Данное решение основано на том, что большинство современных мониторов, на момент создания сетки, имели разрешение не меньше 1024 на 768 пикселей. Создание макета на основе данной сетки, в дальнейшем, поможет ускорить процесс разработки (вёрстки).

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

Модульная сетка 960GS отвечает концепции «фиксированного» дизайна, для «резинового» дизайна можно обратить внимание на адаптацию этой же сетки на сайте http://www.designinfluences.com/fluid960gs/ или воспользоваться сеткой, которую предлагает фрэймворк Bootstrap (http://getbootstrap.com/css/#grid).

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

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

Полезные ссылки и материалы:

  • Паттерны адаптивной сетки
  • Создание прототипа на основе 960gs (eng.)
  • Использование сетки 960gs как основы для дизайна (eng.)

Макеты веб-страниц

Среди всего многообразия составления макета веб-страницы можно выделить четыре наиболее распространённых:

  • Навигация в левом столбце

  • Навигация в правом столбце

  • Навигация в трёх столбцах

  • Горизонтальная навигация. На данном этапе сайты с таким типом навигации составляют большинство. Удобство такого подхода легко объяснить тем, что в данном случае у нас остаётся больше пространства для контента, составляющего наш сайт.

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

  • http://unmatchedstyle.com/gallery
  • http://cssdrive.com
  • http://foundation.zurb.com/templates.html
  • http://zurb.com/patterntap

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

Mobile First

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

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

Усвоив всё вышесказанное можно переходить к следующему этапу – Дизайн.

Дизайн

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

Один из способов определения основного цвета в проекте – это составление mood board. Для этого необходимо выписать себе все синонимы, связанные с темой проекта, а затем каждый синоним набрать в поиске по картинкам Google или Yandex. На основе найденных изображений выписать себе цвета, которые чаще всего встречаются на них (каких цветов больше). Найденные цвета будут составлять визуальное восприятие нашего проекта и вызывать у пользователя соответствующие чувства.

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

  • Color Scheme Designer 3 (http://colorschemedesigner.com/csd-3.5/). Помимо выбора цветовой схемы данный сервис позволяет посмотреть пример того, как выбранные цвета будут смотреться на сайте

  • Adobe Color CC (https://color.adobe.com/ru/). Данный ресурс, в отличие от Color Scheme Designer 3, позволяет создавать палитры ещё и на основе загруженных изображений (которые, например, могли появиться у нас на этапе составления mood board). Так же данный сервис обладает большим архивом палитр других пользователей.

  • COLORlovers (http://www.colourlovers.com/). Обширное сообщество, где можно подобрать различные палитры.

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

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

Элементы Call to Action

Понятие призыва к действию относится к интерактивным элементам сайта: кнопки, баннеры и пр. Данные элементы оформляются таким образом, что пользователю должно хотеться непременно на них нажать. Например, это может быть кнопка с призывом к действию (Нажми, Купи, Сэкономь), яркий баннер с заманчивым предложением, яркой картинкой и пр.

Данное понятие хорошо вписывается в принцип AIDA (Attraction Interest Desire Action).

AIDA

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

  • Привлечение внимания
  • Интерес
  • Желание
  • Действие

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

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

Схема просмотра страницы

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

Визуальные направляющие

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

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

Тот же эффект продемонстрирован на втором изображении с наложенной тепловой картой: в первом случае нас привлекает в основном прямой взгляд ребенка (прямо в глаза), во втором случае направление взгляда ребенка и его поза невольно обращают взгляд пользователя на блок справа.

Фрэймворки

Стоит так же отметить, что иногда, при разработке дизайна страницы, используют фрэймворки Bootstrap, Foundation, Material Design Lite, которые, помимо готовых элементов дизайна (кнопки, формы ввода и пр.), предлагают свою модульную сетку, CSS сниппеты (часть кода, разметки, которая может неоднократно использоваться) для вставки элементов в страницу (тех же кнопок, элементов форм и пр.) и классы разметки, а так же JS скрипты для соответствующих интерактивных элементов.

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

Готовые элементы дизайна из Bootstrap, Foundation и Material Design Lite (MDL)

Трэнды

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

Во-первых, стоит упомянуть о так называемых лэндинговых страницах, которые подразумевают под собой длинную страницу, разделённую на соответствующие секции и знакомящие пользователя с основным контентом сайта. Часто лэндинг является единственной страницей, на которой сразу удаётся показать всю необходимую информацию, не заставляя пользователя переходить по страницам. Лэндингам обычно сопутствует хороший дизайн, выверенная и продуманная подача информации, элементы call-to-action, интерактивность (счётчики, анимация и пр.).

Стоит так же сказать о внешнем виде страниц и вспомнить такие понятия как скевоморфизм и плоский дизайн.

Скевоморфизм

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

Плоский дизайн

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

Не маловажную роль на тренды в веб-дизайне оказало развитие мобильных операционных систем. Чаще всего двигателем прогресса становятся решения от компании Apple, которая в своих дизайн-решениях iOS сначала использовала имитацию реальных объектов, а затем всё упростила до плоского дизайна (Flat UI). Сейчас в вебе главенствует Flat дизайн и Material дизайн, который активно развивает Google.

Неплохой сайт-сравнение двух концепций: http://www.flatvsrealism.com/

По основам веб-дизайна и прототипированию неплохим подспорьем может стать данная книга: Джейсон Берд: Веб-дизайн. Руководство разработчика.

Разработка

Итак, процесс дизайна макета страницы плавно перетекает в процесс «оживления» сделанного на предыдущих этапах. Прежде чем сразу начинать писать HTML, CSS и JS стоит немного поговорить о редакторах кода и структуре проекта.

Редакторы кода

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

  • Sublime Text (http://www.sublimetext.com/3)
  • Atom (https://atom.io/)
  • Brackets (http://brackets.io/)

От части, все эти редакторы похожи по принципу работы, когда при установке мы получаем редактор, в который затем можем «доставить» необходимые модули и плагины, так сказать, «редакторы на стероидах». Разница лишь в технологиях, которые были использованы при написании редакторов, если Sublime Text написан при помощи C++ и Python, то 2 других используют JavaScript, HTML, CSS (Less). За счёт этой разницы Sublime Text может работать чуть быстрее своих коллег.

Существуют так же более продвинутые IDE (студии) такие, как Web Storm, PHP Storm и пр., но для вёрстки проекта вполне подойдёт редактор кода, а не целая студия (IDE).

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

Обзоры текстовых редакторов:

  • Atom
  • Sublime Text
  • Brackets

Структура проекта

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

Лучше всего отдельные категории файлов помещать в свои папки: картинки в папку images или img, css в папку css, javascript в папку js. В корне будет лежать только index.html и страницы сайта, либо только index.html, а страницы в отдельной папке pages. Соблюдая эти правила вы никогда не запутаетесь в проекте.

Так же стоит сказать и об именовании файлов проекта. Чаще всего применяются следующие имена: главная страница – это index.html, стили проекта styles.css, скрипты scripts.js или app.js, минимизированные версии файлов имеют префикс .min, картинки носят не пространные названия на русском языке или набора цифр, а отражают то, что на них изображено, например, button.png, download-icon.png, logo.png и т.д.

Работа над проектом

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

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

  • Написание HTML
  • Написание CSS
  • Написание JS

Написание HTML

Сейчас при написании HTML кода уже смело можно использовать тэги и элементы разметки, которые появились вместе с стандартом HTML5, если вам необходимо поддерживать старые браузеры, то можно использовать, например, плагин html5shiv (https://github.com/afarkas/html5shiv), который обеспечивает поддержку новых стандартов в старых браузерах или библиотеку Modernizr (https://modernizr.com/) (html5shiv входит в сборку Modernizr), которая определяет возможности браузера, с помощью которого просматривается сайт.

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

На этапе написания HTML мы, как бы, создаём скелет страницы, её абстрактную модель при помощи тэгов (языка разметки HTML). Стоит отметить, что структуру может быть проще написать, если у нас есть прототип, составленный на первом этапе или же, если мы сами, глядя на дизайн-макет, на бумаге схематично разрисовали себе все блоки страницы.

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

Правила именования классов

В проекте во всём должен быть порядок: от структуры проекта до имен классов, разметки и написания кода. Если при разметке важно следить за типом информации и размещением её в соответствующих блоках (заголовок, список, ссылка, строчный элемент, параграф и пр.), то при именовании классов и идентификаторов важно соблюдать здравый смысл. Классы должны давать абстрактное понятие о блоке, к которому они относятся, чтобы код было легче читать, а затем и писать стили. В принципе здесь не должно быть ничего сложного, если мы размечаем меню, то логично содержащему блоку дать класс .nav или .navigation, если это блок с текстом, то можно дать ему класс .block-text и т.д.

БЭМ

На сегодняшний день есть один популярный подход, который касается принципов построения проекта в целом, но на данном этапе нас интересует именно именование классов. Подход называется БЭМ и расшифровывается, как Блок Элемент Модификатор.

Вкратце можно описать данный подход, как некое соглашение по именованию классов и представлению разметки страницы. Каждый элемент страницы являет собой сущность, которая может существовать независимо от контекста, тогда мы говорим о Блоке (.block) или же только в контексте другой сущности, тогда мы говорим об Элементе (.block__element). Каждый Блок или Элемент могут иметь различные модели представления: цвет, форму, прозрачность и пр. За подобные свойства будет отвечать Модификатор (.block__element_mod).

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

Более полная информация о методологии: https://ru.bem.info/

SMACSS

Так же существует подход SMACSS (расшифровывается данный акроним как Scalable and Modular Architecture for CSS – Масштабируемая и Модульная Архитерктура для CSS), который разделяет понятие о классах и разметке на несколько уровней: базовый, макет, модуль, состояние, тема.

  • К базовому уровню будет относиться всё, что касается непосредственно тэгов html.
  • К уровню макета мы будем относить всё, что касается основных составляющих страницы: секции.
  • К уровню модуль мы будем относить всё, что касается переиспользуемых элементов страницы: баннеры, навигация, списки, блоки информации и пр.
  • Уровень Состояние описывает как будут выглядеть модули и секции в том или ином состоянии: отображаются или не отображаются, сжатые или раскрытые, активны или неактивны и пр.
  • Уровень темы чем-то схож с уровнем Состояния и отражает как модули или секции могут выглядеть.

В данном подходе используются следующие соглашения по именованию. Уровни определяются при помощи префиксов и соответствующего буквенного обозначения:

  • Макет: .l- или .layout-
  • Так как модули составляют основную часть проекта именовать их, используя префикс module- избыточно. Поэтому для них используются имена как есть, например: .example {}, .afisha {} и пр.
  • Состояния имеют префикс .is-, например .is-hidden {}
  • Уровень Темы именуется подобно модулям.

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

Информация о методологии и онлайн книга: https://smacss.com/
Русскоязычный перевод книги по SMACSS: https://github.com/andrew—r/smacss

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

Небольшой курс по основам HTML: Смотреть

Написание CSS

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

Стоит упомянуть о 2-х CSS файлах-дополнениях: normalize.css и reset.css.

Reset.css

Изначально в проектах повсеместно использовался reset.css, написанный Эриком Мейером. Цель данного свода правил – сбросить стили браузера, которые он по умолчанию использует для отображения элементов разметки. Таким образом при использовании reset.css нам не нужно переписывать стили браузера, по сути мы работаем с «чистым листом» и можем сосредоточиться на написании собственных стилей с нуля.

Normalize.css

Normalize.css наоборот, не сбрасывает все стили «в ноль», а нормализует их, приводит отображение стилей проекта к более-менее однообразию во всех современных браузерах.

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

Так же стоит упомянуть о, так называемом, «быстром сбросе», когда мы абсолютно для всех элементов страницы с помощью селектора * прописываем свойства {margin: 0; padding: 0}. Таким образом мы сбрасываем все внутренние и внешние отступы для всех элементов страницы. Но данную технику не рекомендуется использовать, так как она замедляет процесс отрисовки страницы, да и по сути имеет мало смыла (на мой взгляд).

Так же стоит отметить, что все размеры и отступы берутся непосредственно из дизайн-макета. Для получения данных значений нам необходимо использовать инструмент «линейка» и направляющие (речь про инcтрументарий Adobe Photoshop), а затем переносить полученные значения в код. Если мы работаем с фиксированным макетом, то значения переносятся в пикселях как есть, если же у нас «резиновый», то значения нужно переводить в проценты. Основная формула – это ширина элемента, делённая на ширину контекста (ширина содержащего блока). Например, если блок, содержащий текст и картинку имеет на макете ширину 400px, а блок с текстом в нём должен иметь ширину 340px, то в процентном выражении это будет (340 / 400) * 100%, то есть 85% будет занимать блок с текстом.

Не стоит перегружать ваши стили чрезмерной специфичностью, например, если мы хотим, чтобы ссылка внутри списка имела красный цвет, то не обязательно записывать всю линейку классов и тэгов: .main –nav ul li a, достаточно просто указать .main-nav a. Слишком «специфичные» правила делают правила контекстно зависимым и заставляют вас писать лишний код, а так же влияют на скорость отрисовки страницы, так как при разборе правил CSS парсер читает их справа налево и ему сначала, если брать описанный выше пример, нужно взять все ссылки (a), затем отбросить все ссылки, которые не лежат в li и т.д. пока он не доберётся до содержащего класса.

Специфичность кода, так же означает чрезмерную привязку к базовым тэгам. Например, если мы хотим, чтобы элемент внутри .block был синим и при разметке использовали элемент span (в правилах мы написали .block span {background-color: blue}), то при замене его на div, например, нам нужно будет написать новое правило уже для div внутри .block. Таким образом наш код будет обрастать ненужными правилами, которые по сути дублируют друг друга. Гораздо проще определить всего лишь один класс (класс элемента), который при присвоении внутренним элементам будет приводить нас к желаемому результату.

Ещё один пример контекстной зависимости кода – это использование имен тэгов вместе с именами классов, например, div.block {display: block}. Если мы захотим тот же класс применить к span, то нам придётся написать опять span.block {display: block} или span.block, div.block {display: block}, что в любом случае приведёт к увеличению кода на лишнюю строчку.

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

Если, вы используете правила, относящиеся к спецификации CSS3, то не поленитесь проверить необходимость использования браузерных префиксов на сайте http://caniuse.com.

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

Полезные ссылки и материалы:

  • Книга Сначала мобильные
  • Книга CSS. Рецепты программирования
  • Книга Большая книга CSS3
  • Книга CSS3. Руководство разработчика
  • Небольшой курс по основам CSS: Смотреть

Написание JS

Итак, заключительным этапом является написание JS скриптов. При создании веб страниц стало, практически, стандартом использование библиотеки jQuery, которая позволяет с лёгкостью манипулировать элементами web-страницы (DOM узлами), навешивать прослушку событий, отправлять запросы на сервер, обрабатывать результат выполнения и пр. Но не стоит слепо доверять трендам, на сегодняшний день нативный JavaScript достиг такого уровня, что вам возможно уже не нужен jQuery. Поэтому, прежде чем слепо прикреплять jQuery, стоит задуматься, так ли он нужен для ваших задач и не достаточно ли встроенных возможностей языка JavaScript.

Есть неплохой ресурс, который приводит альтернативы одних и тех же манипуляций на языке JavaScript и с помощью библиотеки jQuery: http://youmightnotneedjquery.com/, так же неплохим подспорьем является сайт https://developer.mozilla.org/ru/, на котором, помимо описания методов и свойств JavaScript, можно найти полифиллы для тех или иных методов (библиотека или часть кода, которая добавляет в старые браузеры поддержку возможностей современных функций и методов JavaScript).

Важно отметить, что не рекомендуется использовать JavaScript для стилизации, то есть не стоит для того или иного объекта DOM (элемента страницы) добавлять портянку CSS свойств с помощью JavaScript, чтобы выделить его состояние и пр. Рекомендуется использовать классы, то есть заранее в CSS определить классы-состояния (активный, не активный, скрытый, использованный и пр.) и при манипуляции элементами просто добавлять или убирать соответствующие классы.

Например, у нас есть элемент списка с классом .list__item, для того, чтобы показать активный элемент в данный момент (выбран пользователем) или нет, можно просто добавить класс (.list__item—active), а не прописывать все стили, присущие этому классу в JS:

document.querySelector(‘.list__item’).style.color = ‘red’;

и т.д.
Небольшой пример с возможными способами присваивания класса (присвоение модификатора происходит при нажатии на зелёный квадрат): http://jsbin.com/.

Не рекомендуется решать задачи, которые явно относятся к уровню CSS с помощью JavaScript, пытаясь как-то выровнять объект или добавить ему стили при наведении и пр.

Опять-таки, возвращаясь к теме Mobile First, нельзя не упомянуть о 2-х концепциях, которые коррелируют с данной техникой. Progressive Enhacement и Graceful Degradation, что переводится как прогрессивное улучшение и последовательное ухудшение. Данные принципы описывают 2 разных подхода к разработке: в первом случае мы разрабатываем наш сайт, пишем скрипты с учётом старых браузеров и систем или же определяем поведение при невозможности запуска скриптов, а затем постепенно улучшаем скрипт, вводя современные функции и методы, таким образом мы получаем сайт, который будет одинаково хорошо работать в старых и новых браузерах и средах (то же касается и css).

При Graceful Degradation подход противоположный – мы разрабатываем для современных браузеров и, лишь, потом начинаем вносить доработки и изменения с учётом старых версий.

Подход Mobile First чем-то схож с Progressive Enhacement.

Проверка кода

После написания html, css и js для нашей страницы необходимо проверить всё ли сделано верно. Для этого можно использовать online средства:

  • Для проверки html: https://validator.w3.org/
  • Для проверки CSS: http://jigsaw.w3.org/css-validator/
  • Для проверки JS: http://www.jslint.com/

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

Статьи с рекомендациями по написанию JS, HTML и CSS:

  • 10 советов по написанию нативного JavaScript без jQuery
  • Сайт-сборник рекомендаций по JS, HTML и CSS

Средства автоматизации

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

960GS

Мы уже говорили об этом средстве разработки в разделе про модульные сетки и дизайн. Нужно сказать, что 960GS предлагает не только макеты для создания дизайна, но и свою систему именования классов. Используя предлагаемые классы при вёрстке и при подключении css файла системы в проект, блоки сайта будут выстроены по этой сетке, что сэкономит время на написании практически того же самого самостоятельно.

<div class="container_12">
  <div class="grid_7 prefix_1">
      <div class="grid_2 alpha">
          ...
      </div>
      <div class="grid_3">
          ...
      </div>
      <div class="grid_2 omega">
          ...
      </div>
  </div>
  <div class="grid_3 suffix_1">
      ...
  </div>
</div>

Emmet

Emmet – это средство работы с html и css (http://emmet.io/). Плагин для работы с данным средством можно установить, например, в Sublime Text, тогда у вас появляется возможность не писать громоздкие куски кода на html и css, а записывать их в строчку, раскрывая затем в полноценную разметку. Например, строка .block>ul.list>li.list__item*3, может быть раскрыта в полноценный код:

<div class="block">
  <ul class="list">
    <li class="list__item"></li>
    <li class="list__item"></li>
    <li class="list__item"></li>
  </ul>
</div>

Затем вам просто необходимо вписать текстовые значения в элементы списка. То же касается и css: строка w:100px+h:150px+bgc:#ff0 раскрывается в:

width: 100px;
height: 150px;
background-color: #ff0;

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

Jade

Далее стоит упомянуть и о таком языке работе с шаблонами, как jade (http://jade-lang.com/). Опять-таки, с помощью jade писать html становится быстрее и удобнее, а так же появляется возможность создания переиспользуемых блоков кода и миксинов, передавая которым на вход те или иные параметры мы будет получать нужную нам разметку. Благодаря jade в проекте, касательно разметки и написания страниц, может поддерживаться модульность, а часто используемые названия и блоки кода могут выноситься в качестве переменных (названия, имена страниц и пр.) или миксинов в отдельные файлы настроек и файлы, соответственно. Для работы с jade, а точнее для преобразования написанного кода из jade в html, необходимо использовать командную строку, а так же установить на ваш компьютер платформу nodejs (https://nodejs.org/en/, http://nodejs.ru/).

Командная строка

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

mkdir project && cd project && mkdir css && touch css/styles.css && mkdir images && mkdir js && touch js/app.js && touch index.html

После нажатия enter мы получим папку project в которой будут находиться папки css, images, js, в папках css и js файлы styles.css и app.js, соответственно, а в корне project лежать файл index.html. Таким образом мы сэкономили время на создание папки, написание её названия, создание файлов и пр. Так же командная строка используется для работы с остальными средствами автоматизации.

Sass

Далее стоит поговорить о таком языке как Sass (http://sass-lang.com/). Данный язык упрощает работу с css. Благодаря Sass можно записывать вложенные классы, проводить математические вычисления прямо в коде, выносить переиспользуемые величины в качестве переменных в отдельные файлы или в начало файла, что в значительной степени упрощает дальнейшую работу со стилями и упрощает изменение тех или иных величин, так как они все будут храниться в одном месте и не нужно будет «ходить» по всему проекту и вносить соответствующие правки. Так же, благодаря Sass в проекте можно придерживаться принципа модульности, храня части разметки в соответствующих файлах и подключать их все в основной, затем с помощью консольной команды можно собрать весь код в один css файл, так же поддерживается сборка результирующего файла на лету по мере написания стилей. Опять-таки для работы с Sass потребуется командная строка. Процесс установки пакета можно изучить здесь: http://sass-lang.com/install.

HTML5Boilerplate

HTML5Boilerplate (https://html5boilerplate.com/) представляет собой заранее скомпонованный проект, в котором уже есть index.html, normalize.css и пр. В index.html, например, уже заранее прописаны основные куски кода, которые необходимы при написании html страницы. Проект позволяет скачать архив со всеми файлами как есть или же использовать кастомную сборку: http://www.initializr.com/. Опять-таки, принцип прост: зачем тратить время на написание одних и тех же строк или на проделывание одних и тех же манипуляций, если мы сразу можем сосредоточиться непосредственно на работе с проектом.

Gulp и Grunt

Gulp (http://gulpjs.com/) и Grunt (http://gruntjs.com/) представляют собой сервисы запуска задач, которые описываются в основных файлах данных сервисов, выполняются с помощью совместимых модулей и запускаются на выполнение с помощью консоли.

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

Оба сервиса используют различный подход в описании выполнения задач, но суть их работы одинакова. Полезным будет данное сравнение: http://frontender.info/gulp-grunt-whatever/

Так же многие сервисы вроде autoprefixer (автоматическая простановка браузерных префиксов), jshint (проверка JS кода на валидность) могут быть установлены как сторонние плагины в текстовом редакторе (Sumblime Text, Atom, Brackets) и инициализированы при нажатии определённого сочетания клавиш.

Bootrstrap, Foundation, Material Design Lite

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

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

Со всеми возможностями и примерами можно ознакомиться на соответствующих сайтах:

  • Bootstrap: http://getbootstrap.com/
  • Foundation: http://foundation.zurb.com/
  • Material Design Lite: http://www.getmdl.io/

Данное описание не является исчерпывающим и представляет собой лишь поверхностный взгляд на некоторые технологии. Но прежде чем пускаться во все тяжкие, используя средства автоматизации, библиотеки, framework’и, готовый код и прочее, стоит, всё-таки, изучить основы работы с html, css и js.

Надеюсь, что все описанные вещи будут полезны вам в изучении темы веб-дизайна и фронтенд разработки.

Серёжа СыроежкинКопирайтер

Сегодня мы разберемся как создать сайт в блокноте при помощи HTML. HTML-документ должен иметь следующую структуру:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Как создать сайт с нуля - "Нубекс"</title>
 </head>
 <body>
  <h1>Мой первый сайт в блокноте HTML</h1>
  <p>Привет! Это мой первый сайт.</p>
 </body>
</html>

Скопируйте приведенный код в блокнот (Notepad) и сохраните на компьютере в формате .html. Чтобы теперь посмотреть на нашу веб-страницу, откройте сохраненный файл с помощью браузера (Правой кнопкой мыши -> Открыть с помощью).

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

  • html — корневой тег документа, является контейнером веб-страницы;
  • head — в этом теге указываются основные данные, касающиеся генерации веб-страницы (заголовок, стили, скрипты, мета-теги и так далее);
  • body — основной тег страницы. Представляет собой «тело» документа, внутрь которого помещаются остальные теги;
  • <!DOCTYPE html> — указывает на тип документа (Doctype);
  • meta — используется для указания метаданных страницы (в нашем случае тег указывает на кодировку страницы. Подробнее о мета-тегах читайте в статье Мета-теги);
  • title — задает непосредственный заголовок страницы (Тег title);
  • H1 — заголовок страницы/статьи (подзаголовки задаются тегами H2-H6);
  • P — тег, с помощью которого выделяются абзацы в тексте страницы;

Как показано выше, HTML-страницы сайта имеют древовидную структуру. Одни теги могут быть вложены в другие, а те, в свою очередь, — в третьи. Это означает, что структура документа определена достаточно четко. Открывающиеся теги обязательно должны иметь закрывающую пару. Немного усложним нашу страницу:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>ООО Василий Пупкин</title>
 </head>
 <body>
  <h1>Информация о нашей компании</h1>
	<center><img src="we.jpg" width="30%" /></center>
    <h2>Кто мы?</h2>
	<p>Мы - комманда профессионалов.</p>
    <h2>Наши услуги</h2>
	<h3>Создание сайтов</h3>
	  <p>Мы создаем по-настоящему крутые сайты.</p>
	<h3>Продвижение сайтов</h3>
	  <p>Ваш сайт в ТОП-3 поисковых систем через 2 дня.</p>
	<h3>Посадка картошки</h3>
	  <p>20 соток в час.</p>
     <h2>Контакты</h2>
	<div id="map">Карта проезда: 
	   ...	
	</div>
	<p>Телефон: 0000</p>
 </body>
</html>

Основная информация о создании сайта при помощи конструктора сайтов «Нубекс» описана в статье: Как правильно создать сайт.

Смотрите также:

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

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

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

Что такое HTML?

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

Каждая веб-страница состоит из HTML-документа, который является основным строительным блоком сайта. Структура HTML-документа состоит из следующих элементов:

  1. <!DOCTYPE html>. Объявление типа документа, указывающее на версию HTML.
  2. <html>. Корневой элемент документа, обозначающий начало и конец HTML-кода.
  3. <head>. Этот элемент содержит метаинформацию о документе, такую как заголовок страницы, подключение CSS или JavaScript.

  4. <body>.
    Основное содержимое веб-страницы располагается в этом элементе, включая текст, изображения, ссылки и другие элементы.

Основные теги HTML и их функциональность

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

  • <h1>, <h2>, …, <h6>. Заголовки разного уровня, используются для структурирования заголовков страницы.
  • <p>. Параграф, используется для отображения текстового контента.
  • <a>. Гиперссылка, создает ссылки на другие веб-страницы или ресурсы.
  • <img>. Вставка изображений на веб-страницу.
  • <ul>, <ol>. Ненумерованные и нумерованные списки соответственно.
  • <table>. Создание таблиц для представления данных в упорядоченной форме.
  • <form>. Используется для создания форм, которые позволяют пользователям отправлять данные на сервер.

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

Выбор текстового редактора или интегрированной среды разработки (IDE)

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

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

  1. VisualStudioCode. Бесплатный и мощный текстовый редактор с широкими возможностями и поддержкой различных языков программирования.
  2. Atom. Еще один бесплатный и легкий в использовании редактор, разработанный GitHub.
  3. SublimeText. Легкий, быстрый и хорошо настраиваемый редактор.
  4. Notepad++. Бесплатный редактор для операционных систем Windows, поддерживающий различные языки.

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

Создание базовой структуры HTML-документа

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

Обратите внимание на следующие элементы.

  • <!DOCTYPE html>. Это объявление типа документа и указывает на версию HTML, которую мы собираемся использовать (в данном случае HTML5).
  • <html>. Открывающий тег корневого элемента документа, указывающий начало HTML-кода.
  • <head>. Этот элемент содержит метаинформацию о документе, такую как заголовок страницы, подключение CSS или JavaScript.
  • <title>. Заголовок вкладки браузера, который отображается, когда вы открываете веб-страницу.
  • <body>. Основное содержимое веб-страницы располагается в этом элементе. Ваш контент, такой как текст, изображения, ссылки и другие элементы, будет размещаться внутри этого тега.

Сохранение и запуск первой веб-страницы

Теперь, когда у вас есть базовая структура HTML-документа, сохраним ее с расширением .html. Например, index.html — хорошее имя для вашего первого файла. Убедитесь, что файл сохранен в формате «Веб-страница, HTML» или аналогичном в вашем текстовом редакторе.

Чтобы запустить вашу первую веб-страницу, просто дважды кликните на файл index.html, и браузер откроет его. Вы увидите пустую страницу с заголовком, который вы указали в элементе <title>. Поздравляю, вы только что создали свою первую веб-страницу с использованием HTML!

Работа с текстом и изображениями

A. Форматирование текста с помощью HTML-тегов

Теперь, когда вы освоили базовую структуру HTML-документа, пришло время заполнить вашу страницу контентом. В HTML есть много тегов для форматирования текста. Вот несколько примеров.

B. Вставка изображений на веб-страницу

Изображения могут улучшить внешний вид вашей веб-страницы. Для вставки изображения используется тег <img> с атрибутом src, который указывает путь к файлу изображения. Вот пример.

Создание гиперссылок

Гиперссылки позволяют переходить с одной веб-страницы на другую. Для создания ссылки используется тег <a> с атрибутом href, который указывает целевой URL или путь к другой странице. Вот пример.

Таблицы и списки

Таблицы — отличный способ представления структурированных данных на веб-странице. Для создания таблицы в HTML используется элемент <table>, а для определения строк — элемент <tr>, столбцов — элемент <td>. Вот пример создания простой таблицы.

Создание упорядоченных и неупорядоченных списков

Списки используются для представления информации в упорядоченном или неупорядоченном формате. Для упорядоченных списков используется элемент <ol>, а для неупорядоченных — элемент <ul>. Каждый элемент списка представляется тегом <li>. Вот пример.

Формы и элементы управления

Формы используются для сбора информации от пользователей, такой как текстовые данные, флажки, переключатели и другие. Для создания формы используется элемент <form>, а для различных элементов управления — соответствующие теги, такие как <input>, <textarea>, <select> и т.д.

HTML предоставляет разнообразные элементы управления для форм. Некоторые из них.

  • <input type=»text»>. Поле для ввода текста.
  • <input type=»password»>. Поле для ввода пароля (текст отображается замаскированным).
  • <input type=»checkbox»>. Флажок для множественного выбора.
  • <input type=»radio»>. Радиокнопка для выбора одного варианта из нескольких.
  • <input type=»submit»>. Кнопка для отправки данных формы.
  • <textarea>. Многострочное текстовое поле.
  • <select> и <option>. Выпадающий список с выбором одного варианта.

Семантическая разметка

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

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

  • <header>. Заголовочная часть страницы, обычно содержит логотип и навигацию.
  • <nav>. Элемент для группировки навигационных ссылок.
  • <main>. Основное содержимое страницы.
  • <article>. Самостоятельный контент, который может быть переиспользован.
  • <section>. Логическая секция контента.
  • <aside>. Контент, связанный с основным содержимым страницы.
  • <footer>. Нижняя часть страницы, содержит информацию об авторе, копирайт и другие.

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

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

Нужна поддержка разработчика в настройке микроразметки?

Задайте вопрос, и мы найдем подходящее решение.

Задать вопрос

Работа с мультимедиа

Веб-страницы становятся более интересными и привлекательными благодаря мультимедийным элементам, таким как видео и аудио. Для вставки видео используется тег <video>, а для аудио — тег <audio>.

Использование элемента canvas для рисования на странице

Элемент <canvas> позволяет создавать рисунки, графику и анимацию непосредственно на веб-странице с помощью JavaScript.

Стилизация с помощью CSS

CSS (CascadingStyleSheets) — язык стилей, используемый для оформления и внешнего вида веб-страниц. Он позволяет изменять цвета, шрифты, размеры, расположение элементов и многое другое, что делает дизайн веб-страниц более привлекательным и современным.

Стили CSS можно добавить в HTML-документ через встроенные стили <style>, внешние стили с помощью тега <link> или встроенные стили в элементы HTML с помощью атрибута style.

Адаптивный дизайн и мобильная совместимость

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

Медиа-запросы позволяют применять разные стили CSS для разных типов устройств. Например, вы можете использовать медиа-запросы для изменения размеров шрифтов или перестроения макета в зависимости от ширины экрана устройства.

Оптимизация производительности

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

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

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

Профессиональная консультация веб-разработчика

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

Подробнее

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Тайский нурофен детский инструкция на русском
  • Нейромультивит инструкция по применению видаль
  • Крем для удаления волос в интимных местах инструкция
  • Капли эпам 7 для детей инструкция по применению
  • Печь тефаль электрическая инструкция