HTML5 и CSS: основы веб-разработки для начинающих – с чего начать
Для кого эта статья:
- Новички в веб-разработке, желающие освоить основы HTML5 и CSS
- Люди, интересующиеся карьерой в области фронтенд-разработки
Хоббисты, желающие создать собственные веб-сайты или блоги
Представьте, что вы держите в руках волшебную палочку веб-разработки. HTML5 и CSS — это именно она! 🚀 С этими двумя инструментами вы можете превратить пустой экран в красивый, функциональный веб-сайт. В 2024 году знание основ HTML5 и CSS остаётся ключевой точкой входа для каждого, кто хочет понять, как устроены все веб-страницы, которыми мы пользуемся ежедневно. Независимо от того, мечтаете ли вы о карьере frontend-разработчика или просто хотите создать собственный блог — всё начинается с понимания того, как работает эта волшебная палочка.
Хотите быстро освоить разработку на HTML5 и CSS? Программа Обучение веб-разработке от Skypro даст вам не просто теоретические знания, а реальные практические навыки. Всего за несколько месяцев вы пройдёте путь от новичка до разработчика, способного создавать красивые и функциональные сайты. С опытными наставниками вы освоите все тонкости HTML5, CSS и современные фреймворки. Бонус: помощь в составлении портфолио и трудоустройстве!
Что такое HTML5 и CSS: фундамент современной веб-разработки
HTML5 и CSS — это два основополагающих языка, которые определяют, как выглядит и функционирует любой веб-сайт. Представьте, что HTML — это скелет человека, а CSS — его одежда и прическа. HTML отвечает за структуру и содержимое, а CSS — за внешний вид и представление. 💻
HTML5 — это пятая и текущая версия стандарта HTML (HyperText Markup Language). Она появилась в 2014 году и принесла множество новых семантических элементов, улучшенную поддержку мультимедиа и возможность создания более интерактивных веб-страниц.
CSS (Cascading Style Sheets) — это язык стилей, который определяет, как будут отображаться HTML-элементы. С его помощью можно задавать цвета, шрифты, отступы, анимации и многое другое.
Алексей Петров, руководитель отдела веб-разработки
Когда я только начинал заниматься разработкой на HTML5 и CSS, я думал, что это просто способ создания статических страниц. Мой первый проект был простым сайтом-визиткой для местной пекарни. Я использовал только базовые теги и минимальные стили.
Через три месяца владелец пекарни сообщил, что благодаря сайту количество заказов выросло на 40%. Тогда я понял, что даже с базовыми знаниями HTML5 и CSS можно создавать решения, которые реально влияют на бизнес. С тех пор прошло 7 лет, и теперь я руковожу командой разработчиков, но до сих пор помню, как важно хорошо освоить основы.
Вот основные характеристики HTML5 и CSS, которые делают их незаменимыми для веб-разработки:
| Характеристика | HTML5 | CSS |
|---|---|---|
| Основное назначение | Структура и содержимое | Внешний вид и оформление |
| Синтаксис | Теги в угловых скобках | Селекторы и правила стилей |
| Интерактивность | Базовая (формы, аудио, видео) | Анимации, переходы, трансформации |
| Ключевые нововведения | Семантические теги, Canvas, локальное хранилище | Flexbox, Grid, переменные, анимации |
Преимущества использования HTML5 и CSS в разработке:
- Универсальность: поддерживаются всеми современными браузерами
- Стандартизация: следуют установленным веб-стандартам W3C
- Простота освоения: относительно легки для изучения начинающими
- Расширяемость: легко интегрируются с JavaScript и другими технологиями
- SEO-дружественность: семантическая структура помогает поисковым системам лучше индексировать контент

Структура HTML-документа и основные теги для разработки
Каждый HTML-документ имеет стандартную структуру, которая служит основой для любой веб-страницы. Понимание этой структуры — первый шаг к успешной разработке на HTML5 и CSS. 🏗️
Вот базовый шаблон HTML5-документа:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Название страницы</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<!-- Содержимое страницы -->
<h1>Привет, мир!</h1>
<p>Это мой первый HTML-документ.</p>
</body>
</html>
Разберем ключевые компоненты этого шаблона:
<!DOCTYPE html>— объявление типа документа, указывающее браузеру, что используется HTML5<html>— корневой элемент, содержащий весь HTML-документ<head>— раздел для метаданных, ссылок на стили, скрипты и т.д.<meta charset="UTF-8">— определяет кодировку документа<meta name="viewport">— настраивает отображение страницы на мобильных устройствах<title>— задает название страницы, отображаемое в заголовке вкладки браузера<link>— связывает HTML-документ с внешними ресурсами, например, CSS-файлом<body>— содержит видимое содержимое страницы
В HTML5 появились новые семантические теги, которые делают структуру страницы более понятной как для разработчиков, так и для поисковых систем:
| Тег | Назначение | Пример использования |
|---|---|---|
<header> | Шапка страницы или раздела | Логотип, навигация, поиск |
<nav> | Навигационное меню | Главное меню сайта |
<main> | Основное содержимое | Уникальный контент страницы |
<section> | Тематический раздел | Раздел "О нас", "Услуги" |
<article> | Самостоятельный контент | Новостная статья, блог-пост |
<aside> | Дополнительная информация | Боковая панель, рекламный блок |
<footer> | Подвал страницы | Контакты, копирайт, ссылки |
Пример использования семантических тегов в простой структуре веб-страницы:
<body>
<header>
<h1>Мой блог</h1>
<nav>
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Статьи</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h2>Заголовок статьи</h2>
<p>Текст статьи...</p>
</article>
<aside>
<h3>Популярные статьи</h3>
<ul>
<li><a href="#">Статья 1</a></li>
<li><a href="#">Статья 2</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 2024 Мой блог. Все права защищены.</p>
</footer>
</body>
Кроме семантических тегов, в HTML5 появились новые элементы для работы с мультимедиа, формами и графикой. Например, теги <audio>, <video>, <canvas> позволяют добавлять аудио, видео и создавать интерактивную графику без использования сторонних плагинов.
Стилизация веб-страниц: основы CSS для начинающих
После создания структуры веб-страницы с помощью HTML пришло время сделать ее визуально привлекательной. Здесь на сцену выходит CSS. Без него веб-страница выглядит как простой текстовый документ, а с CSS она превращается в полноценный современный веб-сайт. 🎨
Существует три способа добавления CSS к HTML-документу:
- Встроенный (inline) CSS — стили применяются непосредственно к элементу через атрибут
style:
<p style="color: blue; font-size: 16px;">Текст параграфа</p>
- Внутренний (internal) CSS — стили размещаются в теге
<style>в разделе<head>:
<head>
<style>
p {
color: blue;
font-size: 16px;
}
</style>
</head>
- Внешний (external) CSS — стили хранятся в отдельном файле .css и подключаются через тег
<link>:
<link rel="stylesheet" href="styles.css">
Для большинства проектов рекомендуется использовать внешний CSS, так как он обеспечивает лучшую организацию кода, возможность повторного использования и более простое обслуживание.
Основной синтаксис CSS состоит из селекторов и объявлений:
селектор {
свойство: значение;
свойство: значение;
}
Селекторы определяют, к каким HTML-элементам будут применяться стили. Существует несколько типов селекторов:
- Селектор элемента:
p { color: blue; }— стили применяются ко всем параграфам - Селектор класса:
.highlight { background-color: yellow; }— стили применяются к элементам с атрибутомclass="highlight" - Селектор идентификатора:
#header { height: 80px; }— стили применяются к элементу с атрибутомid="header" - Селектор атрибута:
input[type="text"] { border: 1px solid gray; }— стили применяются к текстовым полям ввода - Комбинированные селекторы:
nav ul li a { text-decoration: none; }— стили применяются к ссылкам в списках внутри навигации
Вот пример простого CSS-файла для стилизации базовой веб-страницы:
/* Общие стили для страницы */
body {
font-family: 'Arial', sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
color: #333;
background-color: #f4f4f4;
}
/* Стили для шапки сайта */
header {
background-color: #35424a;
color: white;
padding: 20px;
text-align: center;
}
/* Стили для навигации */
nav ul {
list-style-type: none;
padding: 0;
display: flex;
justify-content: center;
}
nav ul li {
margin: 0 10px;
}
nav ul li a {
color: white;
text-decoration: none;
}
nav ul li a:hover {
color: #e8491d;
}
/* Стили для основного содержимого */
main {
width: 80%;
margin: 20px auto;
overflow: hidden;
}
article {
background-color: white;
padding: 20px;
margin-bottom: 20px;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
/* Стили для подвала */
footer {
background-color: #35424a;
color: white;
text-align: center;
padding: 10px;
position: relative;
bottom: 0;
width: 100%;
}
Марина Соколова, фронтенд-разработчик
Помню свой первый опыт работы с CSS. Я пыталась создать портфолио для друга-фотографа, который хотел показать свои работы в интернете. HTML я освоила быстро, но когда дело дошло до стилизации, всё пошло наперекосяк.
Часами я билась над тем, почему элементы выстраиваются не так, как я ожидала. Моим спасением стало понимание модели блоков в CSS и принципов наследования стилей. После этого прорыва я смогла создать красивую галерею с эффектами при наведении и плавными переходами.
Клиент был в восторге, а я усвоила главный урок: в CSS важно не количество написанного кода, а глубокое понимание принципов его работы.
В CSS существует концепция каскада и специфичности, которая определяет, какие стили будут применяться в случае конфликтов. Вот основные правила:
- Встроенные стили имеют приоритет над внутренними и внешними стилями
- Селектор ID имеет более высокий приоритет, чем селектор класса
- Селектор класса имеет более высокий приоритет, чем селектор элемента
- Более конкретный селектор имеет приоритет над менее конкретным
- Правило с ключевым словом
!importantимеет наивысший приоритет
Адаптивная верстка: создание сайтов для всех устройств
В эпоху, когда пользователи просматривают веб-сайты с множества устройств разных размеров — от маленьких смартфонов до огромных мониторов — адаптивная верстка стала необходимостью. Разработка на HTML5 и CSS предоставляет мощные инструменты для создания сайтов, которые отлично выглядят на любом экране. 📱💻
Основа адаптивной верстки — медиа-запросы (media queries) в CSS. Они позволяют применять разные стили в зависимости от характеристик устройства, например, ширины экрана:
/* Стили для устройств с шириной экрана до 768px (мобильные) */
@media screen and (max-width: 768px) {
body {
font-size: 14px;
}
header {
padding: 10px;
}
nav ul {
flex-direction: column;
}
}
/* Стили для устройств с шириной экрана от 769px до 1024px (планшеты) */
@media screen and (min-width: 769px) and (max-width: 1024px) {
body {
font-size: 16px;
}
main {
width: 90%;
}
}
/* Стили для устройств с шириной экрана от 1025px (десктопы) */
@media screen and (min-width: 1025px) {
body {
font-size: 18px;
}
main {
width: 80%;
}
}
Для создания гибких макетов используются различные подходы:
| Подход | Описание | Преимущества | Недостатки |
|---|---|---|---|
| Flexbox | Одномерная система компоновки для размещения элементов в ряд или столбец | Простота выравнивания, распределения пространства, изменения порядка элементов | Не предназначен для сложных сеточных макетов |
| Grid Layout | Двумерная система компоновки для создания сеток | Мощный контроль над строками и столбцами, упрощает сложные макеты | Сложнее в освоении, избыточен для простых одномерных макетов |
| Относительные единицы | Использование %, em, rem, vw, vh вместо px | Автоматическое масштабирование в зависимости от размера экрана или шрифта | Требует внимательного планирования и тестирования |
Пример адаптивной карточки товара с использованием Flexbox:
.product-card {
display: flex;
flex-direction: column;
padding: 15px;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
background-color: white;
margin-bottom: 20px;
transition: transform 0.3s ease;
}
.product-card:hover {
transform: translateY(-5px);
}
.product-card img {
max-width: 100%;
height: auto;
border-radius: 5px;
}
.product-info {
margin-top: 10px;
}
/* Адаптация для планшетов */
@media screen and (min-width: 768px) {
.product-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.product-card {
flex-basis: calc(50% – 20px);
}
}
/* Адаптация для десктопов */
@media screen and (min-width: 1024px) {
.product-card {
flex-basis: calc(33.333% – 20px);
}
}
При создании адаптивных сайтов важно следовать подходу "Mobile First", при котором сначала разрабатывается версия для мобильных устройств, а затем добавляются стили для более крупных экранов. Это помогает сосредоточиться на самом важном контенте и функциональности.
Ключевые принципы адаптивной верстки:
- Гибкие изображения: используйте
max-width: 100%; height: auto;для масштабирования изображений - Адаптивные единицы измерения: предпочитайте em, rem, %, vw, vh вместо фиксированных пикселей
- Breakpoints: определите ключевые точки перелома для изменения макета
- Тестирование: проверяйте сайт на различных устройствах и в разных браузерах
- Viewport meta-тег: не забудьте добавить
<meta name="viewport" content="width=device-width, initial-scale=1.0">
От теории к практике: проект лендинга на HTML5 и CSS
Теперь, когда мы рассмотрели основы HTML5 и CSS, давайте применим полученные знания для создания простого, но эффективного лендинга. Лендинг-страница — идеальный первый проект, поскольку она объединяет все ключевые аспекты веб-разработки: структуру, стилизацию и адаптивность. 🚀
Наш лендинг будет состоять из следующих секций:
- Шапка с логотипом и навигацией
- Баннер с призывом к действию
- Раздел с преимуществами или услугами
- Секция "О нас" с фотографией и текстом
- Форма обратной связи
- Подвал с контактной информацией
Начнем с HTML-структуры:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Веб-студия "Креатив" – создание современных сайтов</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<!-- Шапка -->
<header>
<div class="container">
<div class="logo">
<h1>Креатив</h1>
</div>
<nav>
<ul>
<li><a href="#services">Услуги</a></li>
<li><a href="#about">О нас</a></li>
<li><a href="#contact">Контакты</a></li>
</ul>
</nav>
</div>
</header>
<!-- Баннер -->
<section class="banner">
<div class="container">
<h2>Современные веб-сайты для вашего бизнеса</h2>
<p>Мы создаём стильные и функциональные сайты, которые привлекают клиентов</p>
<a href="#contact" class="btn">Заказать сайт</a>
</div>
</section>
<!-- Услуги -->
<section id="services" class="services">
<div class="container">
<h2 class="section-title">Наши услуги</h2>
<div class="services-grid">
<div class="service-card">
<img src="img/web-design.jpg" alt="Веб-дизайн">
<h3>Веб-дизайн</h3>
<p>Создаем уникальный и привлекательный дизайн для вашего сайта.</p>
</div>
<div class="service-card">
<img src="img/development.jpg" alt="Разработка">
<h3>Разработка</h3>
<p>Программируем функциональные и надежные веб-сайты с чистым кодом.</p>
</div>
<div class="service-card">
<img src="img/seo.jpg" alt="SEO-оптимизация">
<h3>SEO-оптимизация</h3>
<p>Помогаем вашему сайту занять высокие позиции в поисковых системах.</p>
</div>
</div>
</div>
</section>
<!-- О нас -->
<section id="about" class="about">
<div class="container">
<div class="about-content">
<div class="about-text">
<h2 class="section-title">О нас</h2>
<p>Мы команда профессионалов с более чем 5-летним опытом в сфере веб-разработки. Наша миссия — создавать сайты, которые не только красиво выглядят, но и эффективно решают бизнес-задачи.</p>
<p>Мы гордимся индивидуальным подходом к каждому проекту и всегда стремимся превзойти ожидания клиентов.</p>
</div>
<div class="about-image">
<img src="img/team.jpg" alt="Наша команда">
</div>
</div>
</div>
</section>
<!-- Форма контактов -->
<section id="contact" class="contact">
<div class="container">
<h2 class="section-title">Свяжитесь с нами</h2>
<form class="contact-form">
<div class="form-group">
<label for="name">Ваше имя</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" id="email" name="email" required>
</div>
<div class="form-group">
<label for="message">Сообщение</label>
<textarea id="message" name="message" rows="5" required></textarea>
</div>
<button type="submit" class="btn">Отправить</button>
</form>
</div>
</section>
<!-- Подвал -->
<footer>
<div class="container">
<div class="footer-content">
<div class="footer-info">
<h3>Креатив</h3>
<p>Создаем современные веб-сайты с 2018 года</p>
</div>
<div class="footer-contact">
<h3>Контакты</h3>
<p>Email: info@kreativ.ru</p>
<p>Телефон: +7 (999) 123-45-67</p>
</div>
</div>
<div class="copyright">
<p>© 2024 Веб-студия "Креатив". Все права защищены.</p>
</div>
</div>
</footer>
</body>
</html>
Теперь создадим CSS для нашего лендинга, включая адаптивные стили:
/* Общие стили и сброс */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Roboto', Arial, sans-serif;
line-height: 1.6;
color: #333;
background-color: #f9f9f9;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.section-title {
text-align: center;
margin-bottom: 40px;
color: #333;
font-size: 32px;
}
.btn {
display: inline-block;
background-color: #4CAF50;
color: white;
padding: 12px 25px;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
transition: background-color 0.3s;
}
.btn:hover {
background-color: #45a049;
}
/* Шапка */
header {
background-color: white;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
padding: 15px 0;
position: sticky;
top: 0;
z-index: 100;
}
header .container {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo h1 {
font-size: 24px;
color: #4CAF50;
}
nav ul {
display: flex;
list-style-type: none;
}
nav ul li {
margin-left: 20px;
}
nav ul li a {
text-decoration: none;
color: #333;
font-weight: 500;
transition: color 0.3s;
}
nav ul li a:hover {
color: #4CAF50;
}
/* Баннер */
.banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('img/banner-bg.jpg');
background-size: cover;
background-position: center;
color: white;
text-align: center;
padding: 100px 0;
}
.banner h2 {
font-size: 36px;
margin-bottom: 20px;
}
.banner p {
font-size: 18px;
margin-bottom: 30px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
/* Услуги */
.services {
padding: 80px 0;
background-color: white;
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}
.service-card {
background-color: #f9f9f9;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
transition: transform 0.3s;
}
.service-card:hover {
transform: translateY(-10px);
}
.service-card img {
width: 100%;
height: 200px;
object-fit: cover;
}
.service-card h3 {
font-size: 22px;
margin: 15px;
color: #333;
}
.service-card p {
margin: 0 15px 15px;
color: #666;
}
/* О нас */
.about {
padding: 80px 0;
background-color: #f9f9f9;
}
.about-content {
display: flex;
align-items: center;
gap: 40px;
}
.about-text {
flex: 1;
}
.about-text .section-title {
text-align: left;
margin-bottom: 20px;
}
.about-text p {
margin-bottom: 15px;
color: #666;
}
.about-image {
flex: 1;
}
.about-image img {
width: 100%;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
/* Форма контактов */
.contact {
padding: 80px 0;
background-color: white;
}
.contact-form {
max-width: 600px;
margin: 0 auto;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
margin-bottom: 5px;
font-weight: 500;
}
.form-group input,
.form-group textarea {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
.contact-form .btn {
border: none;
cursor: pointer;
font-size: 16px;
}
/* Подвал */
footer {
background-color: #333;
color: white;
padding: 50px 0 20px;
}
.footer-content {
display: flex;
justify-content: space-between;
margin-bottom: 30px;
}
.footer-info,
.footer-contact {
flex-basis: 45%;
}
.footer-info h3,
.footer-contact h3 {
font-size: 20px;
margin-bottom: 15px;
}
.copyright {
text-align: center;
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Адаптивные стили */
@media screen and (max-width: 768px) {
/* Шапка */
header .container {
flex-direction: column;
}
nav {
margin-top: 15px;
}
nav ul {
justify-content: center;
}
/* О нас */
.about-content {
flex-direction: column;
}
.about-text {
order: 2;
}
.about-image {
order: 1;
margin-bottom: 20px;
}
/* Подвал */
.footer-content {
flex-direction: column;
}
.footer-info,
.footer-contact {
margin-bottom: 20px;
}
}
@media screen and (max-width: 480px) {
.section-title {
font-size: 26px;
}
.banner h2 {
font-size: 28px;
}
nav ul {
flex-wrap: wrap;
justify-content: center;
}
nav ul li {
margin: 5px 10px;
}
}
Этот проект демонстрирует, как HTML5 и CSS можно использовать для создания полноценного, адаптивного лендинга. Он включает в себя все основные компоненты современного веб-сайта и использует лучшие практики разработки на HTML5 и CSS:
- Семантическую структуру HTML5
- Современные методы стилизации с помощью CSS
- Адаптивный дизайн для различных устройств
- Интерактивные элементы с эффектами при наведении
- Простую, но эффективную форму обратной связи
Этот пример можно использовать как стартовую точку для создания ваших собственных проектов и дальнейшего изучения веб-разработки на HTML5 и CSS.
Освоение HTML5 и CSS открывает дверь в мир веб-разработки, где ваши идеи могут превратиться в реальные проекты. Начиная с простых структур и базовых стилей, вы постепенно переходите к созданию полноценных адаптивных сайтов. Помните, что практика — ключ к мастерству. Экспериментируйте с кодом, анализируйте работу других разработчиков, и вскоре вы сможете создавать впечатляющие веб-проекты, способные решать реальные задачи пользователей и бизнеса.
Читайте также
- Топ-5 JavaScript библиотек для анимации на HTML5 Canvas: выбор
- Продвинутые HTML-формы: от базовой разметки до нативной валидации
- Как найти работу frontend разработчиком: проверенные стратегии
- CSS прокрутка и масштабирование: секреты динамичных веб-интерфейсов
- HTML формы: GET, POST и классы для создания идеальных веб-форм
- Бесконечная прокрутка в React: реализация и оптимизация UI
- Топ фреймворков для веб-разработки: как выбрать правильный
- HTML и CSS: от первого тега до готового сайта – руководство с нуля
- PowerPoint для новичков: пошаговое руководство по созданию слайдов
- Топ-10 бесплатных курсов HTML и CSS для начинающих веб-разработчиков


