Шпаргалки для начинающего верстальщика HTML/CSS

Елена Эберт

Книга отлично подходит тем, кто только начинает учить верстку. Здесь вы найдете универсальный код и полезные советы, крутые эффективные ресурсы, применяя которые можно быстро и легко научиться верстать реальные проекты. Вы откроете новые фишки, лайфхаки для своей верстки…

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Шпаргалки для начинающего верстальщика HTML/CSS предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Создаем каркас сайта

Общая универсальная структура нашей страницы

Страница сайта является обычным текстовым файлом, расширение которого. html.

Как его создать? Можно открыть Блокнот через панель Пуск на компьютере и нажать во вкладке Файл — Сохранить как…

Сохранить мы должны данный файл как index.html.

Аналогично в нашу папку с названием проекта мы должны положить файл для CSS, его мы должны назвать style. css.

Внутри данного файла и хранится текст HTML-страницы. Он должен обязательно иметь такие теги как:

— тег <html>, который содержит в себе текст всего сайта (все, что написано вне его, браузер будет проигнорировать)

— внутри <html> должен обязательно быть тег <head>, в нем отражается служебное содержимое страницы

— также внутри <html> должен обязательно быть тег <body>, в нем отражен основной текст, который и виден на экране браузера.

В теге <head> должны быть тег <title>, он задает название страницы, в браузере, тег <meta>, задающий кодировку страницы (в атрибуте charset, как правило, это значение utf-8).

Также перед тегом <html> пишется конструкция doctype, она указывает на версию языка HTML, на которой сделан сайт. В настоящее время актуальна версия, которую выражает <!DOCTYPE html>.

Структура любой страницы имеет общую структуру, которая в целом выглядит так:

<!DOCTYPE html>

<html lang=«en»>

<head>

<meta charset=«UTF-8»>

<meta name=«viewport» content=«width=device-width, initial-scale=1.0»>

<title> Заголовок страницы </title>

<link rel=«stylesheet» href=«style. css»> // подключаем CSS

</head>

<body>

<header> шапка сайта </header>

<main class=«main»> основная часть </main>

<footer class=«footer»> подвал сайта </footer>

</body>

</html>

Пишем шапку сайта

Что такое шапка сайта? Это верхняя часть сайта, где размещены логотип компании, контактные данные компании и панель навигации. Рассмотрим ниже два самых распространенных типа шапки сайта.

В HTML шапку сайта оформляют с помощью тега header, это парный тег.

Тег — это специальное зарезервированное слово в языке HTML, его ключевая составляющая. Именно тегом начинается код и им же заканчивается. Внутри тега располагается информация, которая отображается на веб-странице.

Теги могут быть парными и одиночными. Парный тег состоит из открывающего и закрывающего тегов. Открывающий тег изображается с помощью знаков “ <” и">». У закрывающего тега перед именем стоит слэш “/».

Например, <header> — открывающий тег, </header> — закрывающий.

Как правило, в 99% случаев шапка сайта сделана стандартно, с позиции языка HTML, поэтому нам, новичкам, следует только несколько раз повторить код указанный ниже на реальных примерах, на практике, чтобы понять как данная шапка с позиции HTML устроена и идти по пути обучения верстке далее.

Начинающему верстальщику для того, чтобы лучше запомнить теги и свойства, а также чтобы лучше ориентироваться в своем коде, необходимо писать комментарии, что и как мы делаем. Комментарии в оформляются следующим образом:

<! — Здесь мы пишем комментарий — >

Так как контент сайта расположен по середине, а по бокам у него имеется пространство, можно предположить, что все содержимое сайта помещено в контейнер — это некий блок, в которым расположена вся информация веб-страницы.

<header>

<div class=«container»> // весь контент, вся информация располагается в контейнере

</div>

</header>

Далее верстаем шапку.

Оформляем шапку сайта в HTML (тип 1)

Первый тип состоит из логотипа, формы поиска, аватар пользователя.

Стандартный HTML-код для первого типа шапки сайта будет выглядеть так:

<header class=«header»>

<div class=«logo»> Логотип </div>

<! — Здесь форма поиска — >

<form action=""class=«search»>

<input type=«search» class=«search-input» placeholder=«Поиск»>

<button type=«submet» class=«search-button»>

<img src="img/search-icon.svg» alt=«search-icon»>

</button>

</form>

<! — Здесь аватар пользователя — >

<div class=«user»>

<img src=«img/Изображение — Иконка.svg» alt=«bookmark» class=«bookmark»>

<img src=«img/Аватарка пользователя.png» alt=«avatar» class=«avatar»>

</div>

</header>

Кратко опишу теги, примененные выше в коде

button — данный тег создает кликабельную кнопку.

img — добавляет на веб-страницу HTML-изображения. Это одиночный тег. У него есть обязательный атрибут src, который указывает путь к изображению, и необязательный атрибут alt, который содержит в себе резервный контент. То есть если на веб-странице по какой-либо причине не откроется изображение, на ней будет указана информация, которую содержит атрибут alt.

Пример кода:

<img src=«img/Иконка (или фотография).svg» alt=«Иконка (Фото)»>

form содержит наше форму поиска, рассмотрим ее подробнее далее.

Ширина изображения

По умолчанию изображения отображаются реальным размером, однако мы можем изменить его размер через атрибут width, который задает ширину изображению

<img src="foto.png» width=«100»>

Если мы, например, зададим ширину 100, а реальные размеры изображения были 200Х200 пикселей, то изображение станет 100Х100, так как вследствие изменения ширины, изменилась и наша высота, чтобы пропорции изображения не исказились.

Аналогично, если мы зададим высоту изображению с помощью height

<img src="foto.png» height=«100»>

Примечание: одновременно не следует задавать и широту и высоту в <img>.

Форма поиска по сайту

Запишем отдельно общий пример формы поиска по сайту

<form>

<input type=«search»>

<input type=«submit» value=«Найти»>

</form>

form — определяет форму в HTML документе. По сути данный элемент — это просто контейнер, внутри которого можно разместить разные надписи, элементы управления и типы входных элементов, флажки, радио-кнопки и пр.

input — ключевой элемент тега form, он определяет пользовательское поле для ввода информации. Поле ввода может принимать различный вид, который зависит от атрибута, который применен к input. К примеру, placeholder.

type — указывает браузеру, к какому типу относится элемент формы.

placeholder — это атрибут тега input, он указывает подсказку, которая описывает ожидаемое значение для ввода в элемент:

— email (поле для адреса электронной почты)

— password (поле с паролем, в котором скрываются символы)

— search (текстовое поле для ввода строки поиска)

— text (однострочное текстовое поле).

Пример кода:

<input type=«search» placeholder=«Поиск»>

Зачем нужны секция, контейнер и див-блоки

section (секция) — это полочки, разделы, в которых размещается блок какого-то контента, данный блок объединен определенной графикой или картинкой. То есть его предназначение — выделять цветовым решением или графикой определенный контент.

container (контейнер) — блок, который центрует контент по середине.

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

При этом если мы зададим данному div-блоку определенный класс, то через данный класс далее мы можем вложенные элементы стилизовать средствами CSS, или динамически манипулировать ими с применением скриптов Javascript.

Зачем нужен class

Классы необходимо использовать, когда нужно определить стиль для индивидуального элемента веб-страницы или задать различные стили для одного тега. Отметим, что использовать русские буквы в именах классов нельзя.

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

<h1 class=«title-home office»>

Как видно из примера выше, если класс состоит из несколько слов, частей, то записывается оно через тире, например, title-home, title-1 и т. д.

В целом название класса можно описывать, используя различные направления и правила, ориентируясь на DOM, БЭМ и прочее. Советую вам, если интересно, почитать данную тему отдельно и для самого себя выстроить определенную систему названий, которые для вас и желательно для других разработчиков будут логичны и понятны.

Имя класса может использоваться CSS, как говорилось выше, чтобы задать различные стили для одного тега. Для того, чтобы записать стили для определенного класса, перед его именем ставят точку:

.title-home {

стили

}

В JavaScript имя класса используется для выполнения определенных задач для элементов.

Оформляем шапку сайта в HTML (тип 2)

Второй тип шапки состоит из логотипа, меню — навигации сайта и аватар пользователя или какой-либо иной информации

Логотип как правило оформляется в виде картинки:

<img src="img/Logo.png» alt=«logo» class=«logo»>

Данную картинку-логотип мы скачиваем в формате png с макета в Photoshop и Figma или другой программе, в которой работал дизайнер.

<nav> — это тег навигации сайта, в него входит меню сайта в виде списка ссылок:

<nav class=«menu-list»>

<a href=«#» class=«menu-link»> </a>

<a href=«#» class=«menu-link»> </a>

<a href=«#» class=«menu-link»> </a>

<a href=«#» class=«menu-link»> </a>

</nav>

Навигацию сайта можно создать различными способами, например, не менее распространен способ создания с помощью списка.

Далее идет аватарка пользователя, во многом схожая с шапкой первого типа:

<div class=«user»>

<img src=«img/User Картинка» alt=«user» class=«user-icon»>

<p class=«user-text»> User </p>

</div>

В целом код шапки второго типа получился такой:

<header>

<div class=«container»>

<div class=«header»>

<img src="img/Logo.png» alt=«logo» class=«logo»>

<nav class=«menu-list»>

<a href=«#» class=«menu-link»> Menu One </a>

<a href=«#» class=«menu-link»> Menu Two </a>

<a href=«#» class=«menu-link»> Menu Three </a>

<a href=«#» class=«menu-link»> Menu Four </a>

</nav>

<div class=«user»>

<img src=«img/User icon.png» alt=«user» class=«user-icon»>

<p class=«user-text»> User </p>

</div>

</div>

</div>

</header>

Кратко опишу теги, примененные выше в коде

<a href=«»> Menu </a> — это тег ссылки. Нажимая на ссылку, мы можем перейти на другую страницу сайта или на другой сайт. В данном теге обязательно должен быть атрибут href, в него записывают адрес страницы, на которую ведет ссылка.

Лайфхак к ссылке: когда мы только пишем код, на любые ссылки необходимо ставить «затычки» #:

<a href=«#»> </a>

<nav> — используют для обозначения содержимого в форме основных навигационных ссылок. Документ может иметь несколько данных элементов, к примеру, один для навигации по сайту, а второй для навигации по странице.

<p> — определяет абзац в HTML-документе, при его отображении браузер автоматически вставляет до и после него отступы.

Оформляем шапку первого типа в CSS

Описать универсальное оформление шапки сайта в CSS на порядок сложнее, чем в HTML, постараюсь указать основное.

Во-первых, нам нужно ограничить контейнер, то есть задать ему максимальную ширину, для каждого макета она своя, а также выравниваем содержимое данного контейнера по середине — margin: auto;

.container {

max-width: 1140px;

margin: auto;

}

В классе header можно поставить универсальное выравнивание элементов по центру, чтобы выровнять логотип соответственно прочим элементам шапки, также универсально распределение элементов органично по длине шапки и пр.

.header {

display: flex; /*выравнивание по центру по вертикали*/

align-items: center; /*раскидываем по сторонам*/

justify-content: space-between;

}

justify-cоntent: space-between; — данное свойство равномерно распределяет элементы по всей строке. Первый и последний элемент прижимаются к соответствующим краям нашего контейнера. В целом про свойство justify-content смотрите далее.

display: flex; — делает все дочерние элементы резиновыми — flex, а не блочными, как было изначально. Если родительский блок содержит, например, графические элементы, они становятся анонимными flex-элементами.

Оформим непосредственно меню, ниже указан пример, отмечу, что при работе над проектом данные вы должны смотреть в своем макете (боковая панель слева).

.menu-link {

font-size: 16px;

line-height: 24px;

color: #2E266F;

text-decoration: none;

margin-right: 45px;

}

Кратко опишу теги, примененные выше в коде

text-decoration: none; — убирает автоматическое подчеркивание в созданном нами списке

font-size: — определяет размер шрифта элемента.

line-height: — высота строки.

color: — определяет цвет текста.

Причем существует несколько цветовых моделей, через которые можно указать значение цвета.

Так зеленый цвет можно вывести в свойстве color как:

— green

— #41AB0D

— rgb (255,0,0)

— rgba (255,100,0,.5)

— hsl (0, 20%, 50%)

— hsla (221, 100%, 50%,.8) и пр.

Самые популярные это green и #41AB0D.

Через # записывается шестнадцатеричная система счисления цвета. Выше приведена сокращенная запись hex-цветов.

Есть специализированные сайты, с помощью которых можно узнать название того или иного цвета, его прочие цветовые модели. Например, сайт Сolorscheme https://colorscheme.ru/color-names.html

max-width: — устанавливает максимальную ширину элемента.

margin: auto; — свойство margin в значении auto применяется для горизонтального центрирования элемента в его контейнере. Данный элемент будет занимать заданную ширину, а остальное пространство будет равномерно распределено между левым и правым полями.

Оформляем шапку второго типа в HTML с помощью Bootstrap

Оформляем с помощью библиотеки Bootstrap, как ее подключить расскажу далее.

<header class=«container header»>

<div class=«row»>

<div class=«col-2»>

<a href="/"class=«logo-link»>

<img width=«128» src=«img/Фото логотипа» alt=«logo» class=«logo-image»>

</div>

</div>

<div class=«col-6»>

<nav>

<ul class=«navigation»>

<li class=«navigation-icon»>

<a href=«#» class=«navigation-link»> Womens </a>

</li>

<li class=«navigation-icon»>

<a href=«#» class=«navigation-link»> Mens </a>

</li>

<li class=«navigation-icon»>

<a href=«#» class=«navigation-link»> Goods </a>

</li>

<li class=«navigation-icon»>

<a href=«#» class=«navigation-link»> Brands </a>

</li>

<li class=«navigation-icon»>

<a href=«#» class=«navigation-link»> Blog </a>

</li>

</ul>

</nav>

</div>

<div class=«col-2»>

<button class=«button»>

<img class=«button-icon» src=«img/Фото» alt=«icon Card»>

<span class=«button-text»> Cart </span>

</button>

</div>

</div>

</header>

Кратко опишу теги, примененные выше в коде

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

<div class=«row»> класс «row"является элементом библиотеки Bootstrap. Ее сетка состоит из строк и колонок, что дает возможность позиционировать элементы на странице как это необходимо по макету. Сам класс означает ряд, который занимает всю ширину элемента, внутри которого он находится, выравнивание по горизонтали реализуется через колонки col.

Конец ознакомительного фрагмента.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Шпаргалки для начинающего верстальщика HTML/CSS предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я