HTML и CSS для [начинающих] Привет, маркетолог!

HTML и CSS для начинающих

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

HTML кости, CSS мясо

Открываем инспектор на любом сайте (Cmd+Alt+I) и видим код HTML. Не факт, что именно так сверстано в оригинале (и упаковано на хостинг). Но, если перед вами лендинг — сайт на голом HTML — то вероятность 99%, что перед вами исходник html.

Там же в инспекторе справа мы видим стили CSS. Покликайте на разные строки в левой части с HTML – вы заметите, как меняются соотвествующие CSS стили в правой части инспектора.

Например, выберем инструмент выделения кода (левая иконка на панель инспектора), наведем на заголовок, а потом изменим размер шрифта в правой колонке со стилями CSS:

html css в инспекторе страницы хром
Пример, как в инспекторе редактировать стили CSS для заголовка H1

Заголовок стал гигантским, но это локальное изменение, видимое только в вашем браузере. Если обновить страницу, все стили вернуться на свое место.

Html теги

Пример с заголовком H1 иллюстрирует, как выбирая нужный html тег, можно менять его стили. Тэги начинаются и заканчиваются со знаков <…>. Синтаксис html тегов (правило правописания) выглядит так:

синтаксис html тегов
Тег изображения: источник картинки, ширина и высота.

Неплохо запомнить, что у html тегов есть имя, атрибуты и значения атрибутов. У разных по назначению тегов бывают разные атрибуты, но есть атрибуты универсальные для многих тегов. Htmlbook.ru в помощь, если хотите просветиться больше по теме.

Большинство тегов состоят из двух частей (открывающий и закрывающий тег), но встречаются без закрывающей части (пример выше с тегом img).

<h3>Заголовок Н3</h3>

Приведу список основных html тегов, с которыми придётся сталкиваться маркетологу:

<html> – тег, обозначающий страницу html, без него страница не загрузится браузером

|  <head> – тег сведений о странице, визуально не отображается, содержит важную информацию для поисковиков и работы стилей/скриптов сайта

||    <title>..</title> – трек заголовка страницы (не путать с H1). В большинстве случаев используется поисковиками для создание поискового сниппета

||    <meta>..</meta> – в частном случае служит для указания описания страницы (description)

||    <style>..</style> – тег для непосредственного добавления CSS стилей внутри html документа

||    <link>..</link> – тег, который прилинковывает CSS стили сайта к странице или к iframe коду (типично для форм и виджетов)

||   <script>..</script> – тег для прилинковки скриптов, исполняемых на данной странице (можно использовать внутри body)

| </head> – закрывающий тег head (не путать с header!), внутри которого содержится служебная информация о странице

|  <body> – открывающий тэг основного контента страницы, сразу после него часто размещают скрипты веб-аналитики

||    <h1>..</h1> – заголовок страницы H1. Второй по SEO-значимости текст после title.

||    <p> – открывающий тэг параграфа с текстом

|||     <a>..</a> – тег ссылки, распложенной внутри текста (что не обязательно). Ссылка имеет обязательно атрибут href=»mysite.com» для указания URL адреса.

||    </p> – закрывающий тег параграфа

||    <img ../> – тег изображения, не имеет закрывающей пары. Так же как и тег ссылки a содержит атрибут для указания на объект: src=»image.jpg»

||    <form> – открывающий тэг формы. Важным элементом является атрибут id=»form-1″ — он часто используйтся для отслеживания отправки форм в аналитике

||      <input>..</input> – тег поля ввода, чек бокса, выпадающего списка

||      <button>..</button> – тег кнопки. Используйте, когда надо вызвать функцию (например, отправить форму). Для простых ссылок используйте тег <a>.

||    </form> – закрываешь тег формы

|| <footer>..</footer> – подвал (футер) сайта, не является обязательным, но активно используется в таких CMS как WordPress

|  </body> – Закрывающий тэг бади. Прямо перед ним часто размещают дополнительные скрипты.

</html> — закрывающий тег страницы

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

<h1 style=»font-size:50px; color:#555555″>Заголовок Н1</h1>

Обратите внимание, что атрибут-значение в html пишется без пробелов (пробелами отделяются разные атрибуты): атрибутзначение«.

В конкретном примере с атрибутом style поле «значение» может содержать сколь угодно много свойств объекта (размер шрифта, цвет текста и т.д.). Это так называемые CSS стили.

CSS стили

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

Мы можем перенести стили H1 из HTML файла страницы в CSS файл со стилями. В общем виде синтаксис будет такой:

 h1 {font-size:50px; color:#555555;}

// или как принято для удобочитаемости:

h1 {

font-size:50px;

color:#555555;

}

То есть мы отбросили атрибут HTML style=»..» и использовали значение атрибута style для задания стилей заголовка H1. Обратим внимание, что в CSS каждое правило заканчивается точкой-с-запятой, а в HTML последнее правило не обязано быть с «;».

Иерархия DOM и каскадные стили

CSS буквально cascade style sheet — каскадная таблицы стилей. Понятие каскадов – или вложенности – объектов верстки связано с DOM (объектно-ориентированная модель страницы).

Что это за муть? Все просто: когда пишется код, одни теги включаются в другие. А поскольку теги, в основном, из двух частей, нужно следить, чтобы эти вторые закрывающие теги не потерялись и всегда стояли ДО закрывающего тега родителя.

В списке основных тегов, что приведен выше, черточками |-|| обозначена вложенность каждого тэга внутри страницы. <html> находится в корне, внутри него содержится <body>, а внутри body — <h1>, <p>, <footer> и пр. Если есть иерархия – значит нужны названия:

  • Родители (parent) – элементы, стоящие выше по уровню
  • Дочерние элементы (child) – элементы, стоящие ниже по уровню
  • Родственные элементы (sibling) — элементы, находящийся на одном уровне

Посмотрите нагляднее на картинке:

родители и дочерние элементы html
Родственные (parent) и дочерние (child) элементы HTML страницы

Но позвольте: каскадные стили– это же про CSS, а не про HTML! Не совсем.

Между элементами html верстки и их стилями CSS существует неразрывна связь. Заключается она в способе именования CSS правила для отдельного элемента.

CSS селекторы

Само слово селекторы подсказывает, что мы выбираем какой-то элемент (тег) в иерархии html страницы и задаем за него свойства.

Есть три основных вида CSS селекторов:

  • .class – cелектор стиля для класса
  • #id – селектор с CSS стиля для ID элемента
  • body – коренное написание тэга (в данном случае body) – без точки или #. Такая опция доступна не всех html тегов.

То-есть на базовом уровне мы прописывали стили CSS в зависимости от наличия у тэга класса или ID или если это один из корневых тегов (body, h1-h6, p, a..).

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

Пример CSS с селекторами:

css селекторы пример
CSS на основе иерархии (ul li a) позволяет обойтись без указания классов или ID элементов

Псевдоклассы CSS

Самое интересное начинается с понятием псевдоклассов CSS, которые так часто используется при создании сайтов на WordPress.

Синтаксис псевдо классов  – основной класс «:» значение всегда класса (без пробелов между классом, псевдоклассом и двоеточием).

Самый простой пример псевдокласса – это когда ссылка меняет цвет при наведении:

hover псевдокласс css
a:hover {новое значение} меняет стиль элемента при наведении

Псевдоклассов существует множество и лучше узнать о них подробнее. Например, :first-child применит стиль CSS к первому дочернему элементу в дереве данного документа, а :last-child — к последнему:

 

псевдоклассы css

При этом, как видно, в HTML файле никаких классов для элементов списка не задано.

Просто положу это здесь — такие связки могут пригодится, если вы думаете делать отслеживание событий на сайте при помощи GTM:

css правила для гтм

Иерархия стилей

В срабатывании стилей CSS существует иерархия: преимущество имеет последний стиль, указанный для отдельного элемента HTML:

  • нижестоящий файл CSS, если к странице прикреплено больше одного файла CSS через <link> или
  • последняя строка внутри файла (ближе к низу страницы)

Также для дочерних элементов применяются CSS стили родителя, если они допустимы для этих дочерних элементов, например, удобно задать стиль шрифта для тега <body> — тогда он распространится на все дочерние элементы H1-H6, p, blockquote, etc.

Редактор и инспектор HTML/CSS

Как и где писать код? Если вы тренируетесь, я рекомендую jsfiddle.net — это бесплатный онлайн редактор, где можно написать кусок HTML, CSS, JS и сразу посмотреть результат. При этом не нужно писать технические части HTML — <html>, <head> — система берет все это на себя.

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

Десктоп редактор для правки кода — Notepad++. Это самый простой. По сути, тот же текстовый редактор, только с функцией выделения цветом в зависимости от языка файла (.html, .css, .js, .php).

Но мне лично нравится редактор Atom — тоже бесплатный, с приятными по цвету шаблонами кода. Также через плагин к Атому можно подключить FTP доступ к удаленному хостингу (вашему сайту), что дает возможность в реальном времени править и сохранять изменения на сайте. Но этот метод не рекомендую новичкам — иначе легко можно положить сайт так и не разобравшись. А Атом рекомендую 🙂

Пошаговое изучение HTML/CSS

По поводу пошагового изучения основ верстки я сделал обзор неплохих курсов HTML-CSS, среди которых есть и бесплатные. Дополнительно к ним порекомендую группу в ВК @php4all, в которой выкладывается куча видео-курсов по разным языкам программирования (поиск по хештегам в помощь).

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

Создание сайтов с нуля

Вам не обязательно начинать с HTML/CSS, если вы хотите создавать сайт с нуля.

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

Мой излюбленный метод верстки с параллельным изучением основ HTML — создание лендингов на Webflow. О шагах по изучению я подробнее написал тут.