HTML и CSS для начинающих: основные теги и свойства на примерах

HTML и CSS для начинающих: основные теги и свойства на примерах

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

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

Минимальный каркас HTML-документа

Страница начинается с указания типа документа, а дальше идёт обёртка html с двумя частями: head — служебные данные для браузера и поисковиков, и body — всё, что видит посетитель.

  • <!DOCTYPE html>
  • <html lang=»ru»>
  • <head>
  • <meta charset=»utf-8″>
  • <title>Моя первая страница</title>
  • </head>
  • <body>
  • <h1>Привет, мир</h1>
  • </body>
  • </html>

Строку с кодировкой указывайте первой в head: без неё русский текст превратится в набор непонятных символов. А содержимое title — это то, что человек увидит во вкладке браузера и в результатах поиска, поэтому название должно быть осмысленным.

Тег, атрибут и элемент: разбираемся в терминах

Тег — это команда в угловых скобках. Большинство тегов парные: открывающий и закрывающий со слэшем. Всё вместе с содержимым называется элементом. Атрибут уточняет поведение тега и всегда пишется в открывающем: <a href=»page.html»>. Некоторые теги одиночные — например, img или meta, закрывать их не нужно.

Основные теги для текста

Заголовки и абзацы

Заголовки бывают шести уровней — от h1 до h6. Они задают иерархию: h1 — главный на странице и обычно один, h2 — разделы, h3 — подразделы. Обычный текст разбивается на абзацы тегом p, а крупные смысловые блоки — на секции. Не пропускайте уровни: прыжок с h1 сразу на h4 сбивает и людей, и поисковых роботов.

Выделение слов

Для смыслового выделения служат два тега: strong делает текст жирным, em — курсивом. Это не то же самое, что b и i: последние просто меняют начертание, а первые подчёркивают важность фрагмента.

Списки

Маркированный список собирается из ul и li, нумерованный — из ol и li. Вложенность допускается: дочерний список помещается внутрь одного из li, а не между элементами.

Ссылки и изображения

Ссылка создаётся тегом a, адрес задаётся в атрибуте href. Чтобы ссылка открывалась в новой вкладке, добавляют target=»_blank» — и вместе с ним rel=»noopener» ради безопасности.

Изображение вставляют через img: у него два обязательных атрибута — src (путь к файлу) и alt (описание). Пустой alt оставляют только для декоративных картинок, во всех остальных случаях он помогает и доступности, и индексации.

Блочные и строчные элементы

Блочные элементы занимают всю доступную ширину и начинают новую строку — это div, p, h1. Строчные идут в потоке текста — span, a, img. Если нужен контейнер без смысловой нагрузки, берите div; если нужно выделить часть строки под стилизацию — span.

Как подключить CSS

Есть три способа: атрибут style прямо в теге, тег style в head и отдельный файл. Первые два подходят для быстрых правок, но рабочий вариант — третий: в head добавляют строку <link rel=»stylesheet» href=»style.css»>, и все стили живут в отдельном файле. Так разметка остаётся чистой, а оформление можно переиспользовать на десятках страниц.

Селекторы: как выбрать нужный элемент

  • p — по имени тега, правило применится ко всем абзацам;
  • .card — по классу, самый рабочий инструмент;
  • #header — по идентификатору, он на странице уникален;
  • .card h2 — вложенный селектор, ищет заголовок внутри карточки;
  • a:hover — состояние при наведении курсора.

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

Свойства CSS, которые дают 80% результата

Цвет и текст

За цвет отвечают color и background-color, за шрифт — font-family, font-size, line-height. Значения задают в пикселях, процентах или единицах rem, где 1rem равен размеру шрифта корневого элемента.

Блочная модель

Каждый элемент — это прямоугольник из четырёх слоёв: содержимое, внутренний отступ padding, рамка border и внешний отступ margin. Чтобы ширина считалась вместе с внутренними отступами и рамкой, в начале стилей прописывают box-sizing: border-box — это избавляет от половины проблем с вёрсткой.

Оформление

Скругления задаёт border-radius, тень — box-shadow, раскладку элементов — display: flex. Последнее свойство стоит освоить в первую очередь: с ним центрирование и колонки перестают быть болью.

Практика: собираем карточку

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

  • <div class=»card»>
  • <h3>Урок 1</h3>
  • <p>Знакомство с HTML</p>
  • <a class=»btn» href=»#»>Открыть</a>
  • </div>

Стили для неё помещаются в несколько строк: .card получает фон, внутренний отступ, скругления и тень; .btn — цвет фона, отступы, скругление и text-decoration: none, чтобы убрать подчёркивание. Сначала пишите разметку, потом оформление — так проще понять, чего не хватает.

Частые ошибки новичков

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

Что делать дальше

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

Комментарии

  1. анна

    Спасибо за статью! Особенно помогло объяснение про strong и em. Я раньше думала, что это просто жирный и курсив, и везде ставила b и i. А теперь поняла, что strong и em несут смысл, и стала использовать их для важных слов. Правда, пока не до конца поняла, когда лучше strong, а когда просто b.

  2. Фёдор

    А зачем для ссылок с target=»_blank» добавлять rel=»noopener»? В статье об этом сказано вскользь, но я не понял, что это даёт на практике. Если я делаю простую страницу для себя, можно ли не заморачиваться?

    1. Илья Казаков

      Хороший вопрос. rel=»noopener» нужен в первую очередь для безопасности: без него открытая в новой вкладке страница может получить доступ к вашей через window.opener. Для простой личной страницы риск невелик, но привычка полезная, поэтому в статье и упомянул. Если хотите, могу разобрать это подробнее в отдельном материале.

  3. лариса

    Не совсем согласна, что h1 должен быть только один на странице. В старых учебниках по SEO писали, что можно несколько, если они логически разделяют контент. Но в вашем примере с каркасом всё понятно, для новичка главное — не пропускать уровни. Я сама сначала ставила везде h2, потому что боялась ошибиться с h1.

Комментарии закрыты.