Основы программирования веб-сайтов

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

1. Введение в веб-технологии: структура HTML и стилизация CSS

Введение в веб-технологии: структура HTML и стилизация CSS

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

Роль технологий в веб-разработке

Для наглядности можно представить веб-сайт как жилой дом. Этот пример помогает четко разделить зоны ответственности каждой технологии.

!Аналогия веб-технологий: HTML как каркас, CSS как отделка, JavaScript как функциональность

* HTML (HyperText Markup Language) — это каркас. Он определяет, где будет стена, где дверь, а где окно. Без него дома не существует. * CSS (Cascading Style Sheets) — это отделка. Он определяет цвет обоев, размер окон, расстановку мебели. Без него дом будет серым и неуютным. * JavaScript — это коммуникации и функциональность. Он заставляет работать лифт, включаться свет и течь воду. Без него дом статичен.

HTML: Язык гипертекстовой разметки

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

Синтаксис тегов

Основа HTML — это теги. Тег — это ключевое слово, заключенное в угловые скобки. Большинство тегов являются парными: у них есть открывающая часть и закрывающая часть (со слэшем /).

Пример структуры элемента:

* Открывающий тег: <p> (начало абзаца). * Контент: Текст внутри. * Закрывающий тег: </p> (конец абзаца). * Атрибуты: Дополнительная информация, которая пишется в открывающем теге (например, class, id, src).

Существуют и одиночные теги, которые не требуют закрытия, так как не содержат текста внутри себя. Примером служит тег изображения <img> или переноса строки <br>.

Базовая структура документа

Любой HTML-файл должен иметь строгую иерархию. Браузер читает код сверху вниз.

  • <!DOCTYPE html> — инструкция браузеру, что используется современный стандарт HTML5.
  • <html> — корневой элемент, контейнер для всего кода.
  • <head> — «голова» документа. Здесь хранится техническая информация: кодировка, заголовок вкладки браузера, подключение стилей. Пользователь не видит содержимое этого тега на странице.
  • <body> — «тело» документа. Всё, что находится здесь (текст, картинки, кнопки), отображается в окне браузера.
  • Вложенность и родительские отношения

    В HTML элементы вкладываются друг в друга, образуя древовидную структуру (DOM — Document Object Model). Элемент, в который вложен другой тег, называется родителем, а вложенный элемент — дочерним.

    > Важно соблюдать правильную вложенность: тег, открытый последним, должен быть закрыт первым. Принцип «матрёшки».

    CSS: Каскадные таблицы стилей

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

    Синтаксис CSS

    Правило CSS состоит из селектора и блока объявлений.

    * Селектор: указывает, к какому элементу HTML применить стиль (например, p для всех абзацев или h1 для заголовков). * Свойство: что именно мы хотим изменить (например, color — цвет текста). * Значение: как именно изменить (например, red — красный).

    Пример окрашивания всех заголовков первого уровня в синий цвет:

    Способы подключения CSS

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

  • Инлайновые стили (Inline): пишутся прямо в HTML-теге через атрибут style. Плохая практика, так как смешивает структуру и оформление.
  • Внутренние стили (Internal): пишутся в секции <head> внутри тега <style>. Подходит для маленьких одностраничных сайтов.
  • Внешние стили (External): стили выносятся в отдельный файл с расширением .css (например, style.css) и подключаются к HTML через тег <link>. Это лучшая практика, так как позволяет использовать один файл стилей для множества страниц.
  • Блочная модель (Box Model)

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

    !Структура Box Model: контент, внутренние отступы, границы и внешние отступы

    Размер элемента складывается из четырех компонентов:

  • Content (Контент) — полезное содержимое (текст, картинка).
  • Padding (Внутренний отступ) — пространство между контентом и границей. Фон элемента распространяется и на padding.
  • Border (Граница) — рамка вокруг элемента.
  • Margin (Внешний отступ) — пустое пространство вокруг границы, отделяющее элемент от соседей. Фон элемента НЕ распространяется на margin.
  • Расчет ширины элемента

    Частая ошибка новичков — думать, что свойство width задает полную ширину элемента. В стандартной модели width задает только ширину контента. Полная ширина элемента на странице рассчитывается по формуле:

    Где: * — полная ширина, занимаемая элементом на странице. * — ширина контента (значение свойства width). * — внутренние отступы слева и справа (padding). * — толщина границ слева и справа (border). * — внешние отступы слева и справа (margin).

    Например, если вы задали блоку width: 100px, padding: 10px и border: 2px (без отступов margin), то реальная ширина блока будет:

    Чтобы избежать сложных расчетов, в современной верстке часто используют свойство box-sizing: border-box, которое заставляет браузер включать padding и border в общую ширину width.

    Итоги

    * HTML отвечает за структуру и смысловое содержание страницы (каркас), а CSS — за визуальное оформление (дизайн). * HTML состоит из тегов, которые могут быть вложены друг в друга, образуя дерево документа. Основные части документа: <head> (служебная информация) и <body> (видимый контент). * CSS использует селекторы для выбора элементов и пары «свойство-значение» для изменения их вида. * Любой элемент на странице подчиняется блочной модели (Box Model), состоящей из контента, внутренних отступов (padding), границ (border) и внешних отступов (margin). * Лучшая практика организации кода — разделение HTML и CSS по разным файлам.

    2. Оживление интерфейса: основы программирования на JavaScript

    Оживление интерфейса: основы программирования на JavaScript

    Если HTML — это каркас здания, а CSS — его отделка, то JavaScript (JS) — это электричество, водопровод и система «умный дом». Именно этот язык программирования превращает статические страницы в интерактивные приложения. Он позволяет реагировать на действия пользователя, обновлять контент без перезагрузки страницы и управлять мультимедиа.

    Что такое JavaScript и где он выполняется

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

    !Роль JavaScript в экосистеме браузера

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

    Подключение скриптов

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

    1. Внутренний скрипт

    Код пишется прямо внутри HTML-файла. Это удобно для коротких экспериментов, но плохо для реальных проектов.

    2. Внешний скрипт (Рекомендуемый)

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

    > Скрипты обычно подключают перед закрывающим тегом </body>. Это гарантирует, что весь HTML-каркас уже загружен и готов к взаимодействию.

    Основы синтаксиса: Переменные

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

    В современном стандарте JavaScript (ES6+) используются два ключевых слова для создания переменных:

  • let — создает изменяемую переменную. Содержимое «коробки» можно менять.
  • const — создает константу. Один раз положили значение — больше менять нельзя.
  • !Различие между изменяемыми переменными и константами

    Типы данных

    JavaScript динамически определяет тип данных, который вы кладете в переменную. Основные типы:

    * String (Строка): текст в кавычках. "Привет" или 'Hello'. * Number (Число): любые числа, целые и дробные. 42, 3.14, -10. * Boolean (Булевый тип): логическое значение. Только true (истина) или false (ложь).

    Логика и принятие решений

    Программы становятся полезными, когда они могут реагировать на условия. Для этого используется конструкция if (если) и else (иначе).

    Здесь программа проверяет математическое условие. Если оно истинно (true), выполняется первый блок кода. Если ложно (false) — второй.

    Взаимодействие с DOM (Document Object Model)

    Самая мощная возможность JavaScript в браузере — это умение менять HTML на лету. Браузер превращает вашу HTML-верстку в древовидную структуру объектов, которая называется DOM.

    JavaScript может найти любой элемент в этом дереве и изменить его.

    Поиск элемента

    Для поиска используется метод document.querySelector(). В скобках указывается CSS-селектор элемента.

    Изменение элемента

    После того как элемент найден, мы можем менять его свойства:

    * element.textContent — меняет текст внутри элемента. * element.style — меняет CSS-стили. * element.classList — добавляет или удаляет классы.

    Пример изменения цвета заголовка:

    События: Оживление интерфейса

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

    Чтобы научить элемент реагировать на событие, используется метод addEventListener (добавить слушатель событий).

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

    Где — новое значение счетчика, — текущее значение, а — шаг увеличения. Каждый клик запускает этот пересчет.

    Реализация в коде:

    В этом примере:

  • Мы создали переменную count.
  • Нашли кнопку и абзац в HTML.
  • Навесили на кнопку «слушатель» события click.
  • Внутри функции-обработчика увеличиваем переменную и обновляем текст на экране.
  • Функции

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

    Итоги

    * JavaScript — это язык программирования, который делает веб-страницы интерактивными и выполняется в браузере. * Скрипты лучше всего подключать через внешний файл с помощью тега <script src="..."> перед закрывающим тегом </body>. * Для хранения данных используются переменные: let (для изменяемых данных) и const (для констант). * DOM (Document Object Model) позволяет JavaScript находить элементы HTML (querySelector) и менять их содержимое или стиль. * Интерактивность строится на событиях (addEventListener), которые запускают функции в ответ на действия пользователя (например, клик мыши).