Тема 13

Веб-проектирование

Что проверяют по спецификации:

Интернет, WWW, URL, браузер, хостингСтруктура HTML-документа и теги текстаСписки, гиперссылки, изображения и мультимедиаТаблицыФормыCSS: синтаксис, селекторы, способы подключенияCSS: свойства и блочная модельJavaScript и этапы создания сайта

Суть за минуту

Веб-проектирование — создание сайтов. Интернет — всемирная сеть компьютеров, а WWW (Всемирная паутина) — одна из её служб: связанные гиперссылками веб-страницы, которые браузер получает с сервера по протоколу HTTP(S) по адресу URL. Каждая страница пишется на языке разметки HTML: теги задают структуру (заголовки, абзацы, списки, таблицы, ссылки, изображения, формы). Язык CSS отвечает за оформление: цвета, шрифты, отступы, рамки, расположение блоков. JavaScript добавляет поведение — реакцию на нажатия. На ЕНТ проверяют назначение тегов и атрибутов, структуру документа, таблицы с rowspan/colspan, списки, селекторы и свойства CSS, блочную модель, строение URL.

Объясняем просто

Сайт похож на человека: HTML — скелет (что где находится), CSS — одежда и причёска (как выглядит), JavaScript — мышцы (что умеет делать).

URL — адрес страницы

https://ustudy.kz/ent/index.html: https — протокол (как передавать), ustudy.kz — домен (какой сервер), /ent/index.html — путь к файлу на сервере.

Теги — это «скобки» для текста

<h1>Заголовок</h1>, <p>Абзац</p>. Большинство тегов парные: открывающий и закрывающий со слешем. Некоторые одиночные: <br>, <img>, <hr>.

CSS — правила внешнего вида

p { color: red; } — все абзацы станут красными. Селектор говорит «кого красим», свойство и значение — «как».

Атрибуты уточняют тег

<a href="page2.html">Далее</a> — у ссылки атрибут href указывает, куда перейти. <img src="cat.png" alt="Кот"> — у картинки src указывает файл.

Главные формулы

Wvis=width+2⋅padding+2⋅borderW_{vis} = \mathrm{width} + 2\cdot\mathrm{padding} + 2\cdot\mathrm{border}
Видимая ширина блока в блочной модели CSS (при стандартном box-sizing: content-box)
Wtotal=Wvis+2⋅marginW_{total} = W_{vis} + 2\cdot\mathrm{margin}
Полное место, которое блок занимает на странице вместе с внешними отступами
t=Ivt = \dfrac{I}{v}
Время загрузки страницы: объём данных II делить на скорость соединения vv (единицы приводят к одинаковым)

Понятия и термины

Web-страница
Часть интернета (документ), определяемая по адресу URL; обычно HTML-файл, который отображает браузер.
Web-сайт
Одна или несколько логически связанных между собой веб-страниц, а также место расположения контента на сервере.
Домен
Определённая область пространства уникальных имён в сети интернет (например, ustudy.kz: kz — домен первого уровня, ustudy — второго).
URL
Единый указатель ресурса — адрес файла в интернете: протокол://домен/путь/файл.
HTTP / HTTPS
Протокол передачи гипертекста между браузером и веб-сервером; HTTPS — защищённая версия с шифрованием.
HTML
Язык гипертекстовой разметки, с помощью тегов описывающий структуру и содержание веб-страницы.
Тег
Команда разметки HTML в угловых скобках: <p>; парный тег имеет открывающую и закрывающую части (</p>).
Атрибут
Дополнительный параметр тега, записывается внутри открывающего тега: имя="значение" (например, href, src, colspan).
CSS
Каскадные таблицы стилей — язык описания внешнего вида веб-страниц (цвета, шрифты, отступы, расположение).
Скрипт
Небольшая программа, содержащая последовательность действий для автоматического выполнения задачи; на веб-страницах пишется на JavaScript.

Разбор темы

Интернет, WWW, URL, браузер, хостинг 10 класс

Интернет — всемирная сеть сетей. WWW (World Wide Web) — служба интернета, система гипертекстовых документов, связанных гиперссылками. Гипертекст — текст с переходами (ссылками) на другие документы. Другие службы интернета: электронная почта, передача файлов (FTP), мессенджеры, видеосвязь.

Браузер (Chrome, Firefox, Edge, Safari, Яндекс Браузер) — программа-клиент, которая запрашивает страницы у веб-сервера и отображает их. Веб-сервер хранит файлы сайта и отвечает на запросы. Протокол HTTP описывает правила обмена запросами и ответами (порт 80), HTTPS — то же с шифрованием (TLS, порт 443, значок замка). Код ответа 200 — успех, 404 — страница не найдена.

URL: https://www.ustudy.kz/ent/inf/index.html?topic=13#css — протокол https, доменное имя www.ustudy.kz (читается справа налево: kz — домен первого уровня (страна), ustudy — второго уровня, www — третьего), путь /ent/inf/, файл index.html, параметры после ?, якорь (место на странице) после #. DNS переводит доменное имя в IP-адрес сервера.

Хостинг — услуга размещения сайта на сервере, постоянно подключённом к интернету. Чтобы опубликовать сайт, нужно: зарегистрировать доменное имя у регистратора, арендовать хостинг, загрузить файлы (через панель управления или FTP). Бывает бесплатный хостинг (с рекламой и ограничениями) и платный.

Статический сайт — набор готовых HTML-файлов, у всех посетителей одинаковых. Динамический — страницы формируются программой на сервере (PHP, Python) по данным из базы данных: так работает связь веб-страницы с БД — форма на странице отправляет данные, серверный скрипт выполняет SQL-запрос и выводит результат.

Структура HTML-документа и теги текста 10 класс

HTML-файл имеет расширение .html или .htm и создаётся в любом текстовом редакторе (Блокнот, Notepad++, VS Code) или в визуальном редакторе. Базовая структура:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Заголовок вкладки</title>
</head>
<body>
    Содержимое страницы
</body>
</html>

<!DOCTYPE html> — объявление типа документа (HTML5). <html> — корневой элемент. <head> — служебная часть: <title> (название во вкладке браузера), <meta> (кодировка, описание), подключение стилей и скриптов; на странице она не видна. <body> — всё, что видно на странице. Теги вкладываются правильно: <p><b>текст</b></p>, а не <p><b>текст</p></b>. Регистр букв в тегах не важен, но принято писать строчными. Комментарий: <!-- текст -->.

Заголовки <h1> … <h6>: h1 — самый крупный и важный, h6 — самый мелкий; заголовков всего 6 уровней. <p> — абзац (с отступами сверху и снизу), <br> — перенос строки (одиночный тег), <hr> — горизонтальная линия. Несколько пробелов и переносов строк в коде браузер показывает как один пробел; сохраняет их только <pre>.

Форматирование: <b> и <strong> — полужирный, <i> и <em> — курсив, <u> — подчёркнутый, <s> — зачёркнутый, <sub> — нижний индекс (H₂O), <sup> — верхний (x²), <small>, <mark>. В старых учебниках встречаются устаревшие <font color="red" size="5" face="Arial">, <center>, атрибуты <body bgcolor="yellow" text="blue">, <p align="center"> — их нужно узнавать, но сейчас вместо них используют CSS. Спецсимволы: &lt; (<), &gt; (>), &amp; (&), &nbsp; (неразрывный пробел), &copy; (©).

Списки, гиперссылки, изображения и мультимедиа 10 класс

Нумерованный список <ol>, маркированный <ul>, пункт <li>. Атрибут type у <ol>: 1 (1, 2, 3 — по умолчанию), A (A, B, C), a (a, b, c), I (I, II, III), i (i, ii, iii); атрибут start задаёт начальный номер: <ol type="A" start="3"> начнётся с C. У <ul> type: disc (●, по умолчанию), circle (○), square (■). Списки можно вкладывать. Список определений: <dl>, термин <dt>, определение <dd>.

Гиперссылка: <a href="адрес">текст ссылки</a>. Абсолютная ссылка — полный URL (https://egov.kz), относительная — путь от текущей страницы (about.html, img/logo.png, ../index.html — .. означает «на папку выше»). target="_blank" открывает ссылку в новой вкладке. href="mailto:info@mail.kz" — письмо, href="#part2" — переход к элементу с id="part2" на той же странице (якорь). Ссылкой может быть и картинка: <a href="..."><img ...></a>.

Изображение: <img src="cat.jpg" alt="Кот" width="200" height="150"> — одиночный тег; src — путь к файлу (обязательный), alt — альтернативный текст (показывается, если картинка не загрузилась, читается программами для незрячих), width/height — размеры в пикселях. Для веба подходят форматы JPEG, PNG, GIF, SVG, WebP.

Мультимедиа (HTML5): <audio src="song.mp3" controls></audio> — звук с панелью управления, <video src="film.mp4" width="400" controls autoplay muted loop></video> — видео, <source> позволяет указать несколько форматов. <iframe src="..."> встраивает другую страницу, например видео с YouTube или карту.

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

Таблица: <table> — вся таблица, <tr> (table row) — строка, <td> (table data) — обычная ячейка, <th> (table header) — ячейка-заголовок (полужирный текст по центру), <caption> — подпись таблицы. Таблица строится по строкам: внутри каждого <tr> перечисляют ячейки слева направо. Атрибут border="1" рисует рамку, cellpadding — отступ внутри ячейки, cellspacing — расстояние между ячейками (сейчас обычно используют CSS).

colspan="2" — ячейка растягивается вправо на 2 столбца (объединение по горизонтали), rowspan="3" — вниз на 3 строки (объединение по вертикали). Ячейку, которую «заняла» объединённая соседка, в коде больше не пишут.

<table border="1">
    <tr><td colspan="2">A</td><td>B</td></tr>
    <tr><td rowspan="2">C</td><td>D</td><td>E</td></tr>
    <tr><td>F</td><td>G</td></tr>
</table>

Разбор: сетка 3 × 3 = 9 мест. Ячейка A занимает 2 места, C — тоже 2 (по вертикали), остальные 5 ячеек — по одному: 2+2+5=92 + 2 + 5 = 9. В третьей строке всего два <td>, потому что первый столбец занят ячейкой C. Проверка таблицы: в каждой строке сумма colspan с учётом «свисающих» сверху rowspan должна быть одинаковой.

Формы 10 класс

Форма собирает данные от пользователя: <form action="save.php" method="post"> … </form>. action — куда отправить данные (серверный скрипт), method — способ: get (данные видны в адресной строке после ?, для поиска) или post (в теле запроса, для паролей и больших данных).

Поля <input type="..." name="...">: text — строка, password — пароль (символы скрыты точками), email, number, date, radio — переключатель (из группы с одинаковым name можно выбрать только один вариант), checkbox — флажок (можно отметить несколько), submit — кнопка отправки, reset — очистка формы, file — выбор файла. Атрибуты: value (значение/надпись на кнопке), placeholder (подсказка), checked (отмечен по умолчанию), required (обязательное поле), maxlength.

<textarea rows="4" cols="40"> — многострочное поле, <select> с пунктами <option> — раскрывающийся список (selected — выбранный по умолчанию, multiple — множественный выбор), <button> — кнопка, <label> — подпись к полю (щелчок по ней активирует поле).

CSS: синтаксис, селекторы, способы подключения 10 класс

Правило CSS: селектор { свойство: значение; свойство: значение; }, например h1 { color: navy; font-size: 32px; }. Комментарий: /* ... */.

Селекторы: по тегу p { } — все абзацы; по классу .note { } — все элементы с class="note" (класс можно дать многим элементам); по идентификатору #main { } — один элемент с id="main" (id на странице уникален); группа h1, h2 { }; потомок div p { } — абзацы внутри div; универсальный * { }; псевдоклассы a:hover (при наведении мыши), a:visited.

Три способа подключения. Встроенный (inline): атрибут style="color: red;" у конкретного тега. Внутренний: блок <style> … </style> в <head>. Внешний: отдельный файл style.css, подключаемый в <head> тегом <link rel="stylesheet" href="style.css"> — один файл оформляет весь сайт, это самый удобный способ.

Каскад и приоритет: если к элементу применяется несколько правил, побеждает более конкретное: inline-стиль > id > класс > тег. При равной силе побеждает правило, записанное позже. Пример: для <p class="note" id="main"> при p {color: red}, .note {color: green}, #main {color: blue} текст будет синим. Некоторые свойства (цвет, шрифт) наследуются вложенными элементами.

CSS: свойства и блочная модель 10 класс

Текст и шрифт: color (цвет текста), font-family (шрифт: Arial, sans-serif), font-size (размер: 16px, 1.5em, 120%), font-weight: bold (жирность), font-style: italic, text-align: left | center | right | justify, text-decoration: underline | none, line-height. Фон: background-color, background-image: url(fon.png). Размеры: width, height. Цвет задают названием (red), кодом #FF0000 или #F00, функцией rgb(255, 0, 0).

Блочная модель: каждый элемент — прямоугольник из слоёв (изнутри наружу): содержимое (width, height) → padding (внутренний отступ, закрашивается фоном элемента) → border (рамка: border: 2px solid black — толщина, стиль solid/dashed/dotted, цвет) → margin (внешний отступ, прозрачный, отделяет от соседей).

Расчёт: при width: 200px; padding: 10px; border: 5px; margin: 20px видимая ширина 200+2⋅10+2⋅5=230200 + 2\cdot10 + 2\cdot5 = 230 px, а занимаемое место 230+2⋅20=270230 + 2\cdot20 = 270 px. Запись margin: 10px 20px означает 10 px сверху и снизу, 20 px слева и справа; margin: 5px 10px 15px 20px — сверху, справа, снизу, слева (по часовой стрелке).

Блочные элементы (div, p, h1, ul, table) начинаются с новой строки и занимают всю ширину; строчные (span, a, b, img) идут в строку с текстом. Свойство display меняет поведение (block, inline, none — скрыть, flex — гибкая раскладка). <div> и <span> — универсальные контейнеры для оформления через CSS.

JavaScript и этапы создания сайта 10 класс

JavaScript — язык программирования, выполняемый браузером; делает страницу интерактивной: реакция на нажатия, проверка формы, анимация, изменение содержимого без перезагрузки. Код пишут в <script> … </script> или подключают файлом <script src="main.js"></script>. Часто используют готовые скрипты (часы, слайдер, калькулятор), вставляя их код в страницу.

<p id="msg">Привет</p>
<button onclick="document.getElementById('msg').innerHTML = 'Нажато!'">Нажми</button>
<script>
    alert('Страница загружена');
</script>

Основы: alert('...') — окно с сообщением, document.getElementById('id') — найти элемент, .innerHTML — изменить содержимое, события onclick (щелчок), onmouseover (наведение), onload (загрузка). Переменные: var x = 5; или let x = 5;.

Этапы создания сайта: 1) цель и техническое задание (для кого, зачем); 2) структура — карта сайта (какие страницы и как связаны); 3) дизайн-макет; 4) вёрстка (HTML + CSS); 5) программирование (JavaScript, серверная часть, база данных); 6) наполнение контентом; 7) тестирование в разных браузерах и на телефоне; 8) публикация на хостинге; 9) продвижение (SEO, реклама) и поддержка. Адаптивный дизайн — сайт подстраивается под ширину экрана.

Примеры задач с решением

Задача 1Разберите URL https://www.ustudy.kz/ent/inf/index.html: назовите протокол, доменное имя, домен первого уровня, путь и имя файла.
  1. Протокол — до ://: https (защищённый HTTP).
  2. Доменное имя — до первого /: www.ustudy.kz; домен первого уровня — последний: kz (Казахстан).
  3. Путь к папке: /ent/inf/, имя файла: index.html.
Ответ https; www.ustudy.kz; kz; /ent/inf/; index.html
Задача 2Какие номера будут у пунктов списка <ol type="A" start="3"><li>HTML</li><li>CSS</li><li>JS</li></ol>?
  1. type="A" — нумерация заглавными латинскими буквами.
  2. start="3" — начинаем с третьей буквы: C.
  3. Далее D и E.
Ответ C. HTML, D. CSS, E. JS
Задача 3Заданы стили p { color: red; }, .note { color: green; }, #main { color: blue; }. Каким цветом будет текст <p class="note" id="main">Текст</p>? А если добавить атрибут style="color: black"?
  1. К абзацу применяются все три правила.
  2. Приоритет: id сильнее класса, класс сильнее тега — побеждает #main, цвет синий.
  3. Встроенный стиль (атрибут style) сильнее id — текст станет чёрным.
Ответ Синий; со style — чёрный
Задача 4У блока заданы width: 300px; padding: 15px; border: 3px solid; margin: 10px. Какова видимая ширина блока и сколько места по горизонтали он занимает?
  1. Видимая ширина = width + 2·padding + 2·border = 300+30+6=336300 + 30 + 6 = 336 px.
  2. Занимаемое место = видимая ширина + 2·margin = 336+20=356336 + 20 = 356 px.
Ответ 336 px и 356 px
Задача 5Сколько ячеек <td> нужно записать в коде таблицы из 2 строк и 4 столбцов, если в первой строке первая ячейка объединяет 3 столбца (colspan="3"), а во второй строке объединения нет?
  1. Первая строка: одна ячейка на 3 столбца + 1 обычная = 2 тега <td>.
  2. Вторая строка: 4 обычные ячейки = 4 тега.
  3. Всего: 2+4=62 + 4 = 6.
Ответ 6
Задача 6В анкете нужно выбрать пол (один вариант из двух) и любимые предметы (несколько). Какие типы полей input использовать и что важно указать?
  1. Один вариант из нескольких — type="radio"; у всех переключателей группы должно быть одинаковое name (например, name="sex"), иначе можно будет выбрать оба.
  2. Несколько вариантов — type="checkbox".
  3. Для отправки — type="submit".
Ответ radio (с одинаковым name) и checkbox

Сложные задачи: шаг за шагом

Задача 1Таблица задана HTML-кодом (он приведён в первом шаге решения). Сколько в ней строк, столбцов и ячеек? Восстановите, как расположены ячейки.

Идея: Рисуем сетку и заполняем её строка за строкой, пропуская места, которые уже заняты ячейками с rowspan из верхних строк.

  1. Код таблицы
    <table border="1">
        <tr><td rowspan="3">1</td><td colspan="2">2</td><td>3</td></tr>
        <tr><td>4</td><td rowspan="2" colspan="2">5</td></tr>
        <tr><td>6</td></tr>
    </table>
  2. Число столбцов
    Первая строка: 1 (1 столбец) + 2 (2 столбца) + 3 (1 столбец) = 4 столбца. Строк — 3 (три <tr>).
  3. Строка 2
    Столбец 1 занят ячейкой «1» (rowspan=3). Ячейка «4» встаёт в столбец 2, ячейка «5» — в столбцы 3–4 и растягивается на строки 2–3.
  4. Строка 3
    Столбец 1 занят «1», столбцы 3–4 заняты «5». Свободен только столбец 2 — туда встаёт «6».
  5. Проверка
    Площадь: «1» — 3 места, «2» — 2, «3» — 1, «4» — 1, «5» — 4, «6» — 1; сумма 3+2+1+1+4+1=12=3⋅43 + 2 + 1 + 1 + 4 + 1 = 12 = 3 \cdot 4. Сетка заполнена без дыр, всего 6 ячеек <td>.
Ответ 3 строки, 4 столбца, 6 ячеек (сетка 3×4 = 12 мест)
Задача 2Страница находится в файле site/pages/a.html. Куда ведут ссылки href="b.html", src="img/x.png", src="../img/logo.png", href="../../index.html"? Какой путь нужно записать на странице site/index.html, чтобы показать картинку site/img/logo.png?

Идея: Относительный путь отсчитывается от папки, в которой лежит текущая страница; .. — подняться на одну папку выше.

  1. Текущая папка
    Страница лежит в site/pages/.
  2. Без ..
    b.html → site/pages/b.html; img/x.png → site/pages/img/x.png (подпапка img внутри pages).
  3. С ..
    ../img/logo.png: поднимаемся в site/, затем img/logo.png → site/img/logo.png. ../../index.html: поднимаемся дважды (выше site) → index.html в корне.
  4. Обратная задача
    Страница site/index.html лежит в папке site/, картинка — в site/img/, значит путь img/logo.png: <img src="img/logo.png" alt="Логотип">.
Ответ site/pages/b.html; site/pages/img/x.png; site/img/logo.png; index.html (корень); путь img/logo.png

Частые ловушки на ЕНТ

  • Путать интернет и WWW: WWW — только одна из служб интернета (наряду с почтой, FTP и др.).
  • <br>, <img>, <hr>, <input>, <meta>, <link> — одиночные теги, закрывающий им не нужен. <title> находится в <head>, а не в <body>, и показывается во вкладке, а не на странице.
  • <ol> — нумерованный, <ul> — маркированный (u — unordered). Пункт списка всегда <li>, а <td> — ячейка, <tr> — строка таблицы.
  • В CSS класс обозначается точкой (.note), идентификатор — решёткой (#main); приоритет: style > id > класс > тег. Внешний стиль подключается тегом <link>, а не <style> и не <a>.
  • В блочной модели padding и border прибавляются к width с двух сторон: ширина 200 с padding 10 — это уже 220 видимых пикселей, а не 210.

Запомнить

HTML — структура (head/body, h1–h6, p, a href, img src, ol/ul/li, table/tr/td + rowspan/colspan, form/input), CSS — вид (селектор { свойство: значение; }, .класс, #id, style > id > класс > тег), JS — поведение; URL = протокол://домен/путь.

Проверь себя

1. Какой тег создаёт гиперссылку?
  1. <link>
  2. <a>
  3. <href>
  4. <url>
Показать ответ

<a> Ссылка — <a href="...">; href — это атрибут, а <link> подключает файлы (например, CSS) в head.

2. Какой атрибут объединяет ячейку таблицы с ячейками ниже?
  1. colspan
  2. rowspan
  3. cellspacing
  4. border
Показать ответ

rowspan rowspan — объединение по строкам (вниз), colspan — по столбцам (вправо).

3. Как в CSS выбрать все элементы с class="menu"?
  1. #menu
  2. menu
  3. .menu
  4. *menu
Показать ответ

.menu Класс — точка, id — решётка, без символа — имя тега.

4. В каком разделе HTML-документа располагается тег <title>?
  1. <body>
  2. <head>
  3. <footer>
  4. <table>
Показать ответ

<head> <title> — служебная информация, задаёт название вкладки и находится в <head>.

5. Блок имеет width: 100px; padding: 10px; border: 2px solid. Какова его видимая ширина?
  1. 112 px
  2. 124 px
  3. 122 px
  4. 100 px
Показать ответ

124 px 100+2⋅10+2⋅2=124100 + 2\cdot10 + 2\cdot2 = 124 px.

6. Какой тип поля input позволяет выбрать только один вариант из группы?
  1. checkbox
  2. radio
  3. text
  4. submit
Показать ответ

radio radio с одинаковым name — выбор одного варианта; checkbox — нескольких.

Связанные темы

Узнай свой уровень: бесплатная диагностика ЕНТ