Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные работы / Лабораторная работа 6

.pdf
Скачиваний:
0
Добавлен:
27.05.2026
Размер:
609.67 Кб
Скачать

Лабораторная работа 6

Тема: Стилизация декоративных элементов Задание: Оформить декоративные элементы на главной и внутренней

странице сайта «Графомания». В этой лабораторной работе вы продолжаете работать с файлом style.css. При выполнении работы следует учитывать то что все размеры, отступы и расположение элементов должны быть выполнены по макету. Должны быть подключены все шрифты, указанные в макете. Размеры и толщина текста соответствуют размерам в макете. Так же должны быть подключены все изображения, размеры и расположение по макету, свѐрстаны состояния элементов из styleguide.psd.

Подготовка к лабораторной работе:

Перед выполнением лабораторной работы рекомендуется пройти курсы на сайте htmlacademy.ru:

1.Декоративные эффекты. Позиционирование

2.Мастерские. Создаѐм меню

3.Мастерские. Декоративные элементы

4.Динамические эффекты. Двумерные трансформации

5.Мастерские. Декоративные эффекты

Продолжаем стилизацию блоков сайта.

1.Добавляем стилевые правила для всех контентных изображений в

проекте.

2.Наконец пришло время скрыть блоки с классом visually-hidden. Те блоки которые мы не планируем показывать пользователю. Для этого

воспользуемся следующим стилевым правилом:

.visually-hidden:not(:focus):not(:active), input[type="checkbox"].visually-hidden, input[type="radio"].visually-hidden {

position: absolute;

width: 1px; height: 1px; margin: -1px; border: 0; padding: 0;

white-space: nowrap;

clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden;

}

3.Приступим к оформлению главного меню (класс site-navigation). Сделаем список флекс-контейнером и разрешим перенос элементов на новую строку (свойство flex-wrap со значением wrap).

4.Делаем ссылки главного и пользовательского меню блочными. Задаем ссылкам внутренние отступы и вертикальное выравнивание по центру.

5.Сделаем список пользовательского меню флекс-контейнером.

6.Добавим ссылке для входа иконку. Для этого задаем ссылке внутренний отступ слева, чтобы добавить туда иконку входа. Задаем position: relative, чтобы спозиционировать иконку относительно этой ссылки.

Далее добавим с помощью псевдоэлемента ::before иконку входа на страницу. Сначала зададим контент (content: “”), ширину, высоту. Чтобы иконка отобразилась на странице, нужно задать ей абсолютное позиционирование относительно ссылки входа.

Осталось сдвинуть иконку относительно ссылки для входа. Для это зададим иконке абсолютное позиционирование и зададим координаты top и left как на макете. Далее добавляем фон с изображением иконки. Не забываем указать свойства background-repeat и background-position. Осталось добавить иконке прозрачность (свойство opacity со значением 0.3)

Добавим для иконки стили при наведении и фокусе на ссылке, а также стили, когда ссылка активна. Переопределим свойство opacity - opacity: 1.

7. Главный заголовок страницы уже скрыт с помощью класса visually-hidden, поэтому переходим к разделу преимуществ.

Добавим заголовкам правила для внешних отступов согласно макету и зададим ему относительное позиционирование.

Далее приступим к добавлению декоративного элемента . Декоративные элементы создадим с помощью псевдоэлементов, которые будут позиционироваться относительно заголовков.

Воспользуемся псевдоэлементом ::after. Зададим контент, ширину и высоту (берем эти значения с макета сайта). Далее зададим декоративному

элементу белый цвет фона. Осталось расположить элемент согласно макету. Зададим абсолютное позиционирование для пседоэлементов и укажем координаты:

bottom: -30px; left: 50%;

Добавим левый отрицательный отступ равный -10px, чтобы элементы встали по центру блока.

Оcталось только повернуть квадратики. Для этого используем свойство transform со значением rotate(45deg).

Зададим абзацам в разделах преимуществ внешние отступы. Оформление раздела преимуществ завершено.

Приступим к оформлению больших информационных разделов. Добавим index-columns еще один фон – изображение разделительной

линии.

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

Зададим заголовку раздела новостей и остальным заголовкам второго уровня в подобных разделах внешние отступы.

Затем списку новостей (класс news-list) сбрасываем отступы (и внешние, и внутренние) и задаем внешний нижний отступ.

Каждой новости (класс news-item) задаем нижний внешний отступ, а у текста новости отменим внешние отступы.

8. Теперь займемся стилизацией кнопок (класс button). Чтобы кнопки могли располагаться на одной строке, сделаем их блочно-строчными. Также добавим внутренние отступы.

Добавим внешний отступ справа, чтобы рядом стоящие кнопки не прилипали друг к другу.

Добавим стили для неактивной кнопки. Обязательно убедитесь, что все сделали правильно. Для этого добавьте временно одной из кнопок атрибут disabled.

9.Переходим к разделу с галереей. Контейнеру фотографии задаем высоту и обнуляем внешние отступы.

Фотографии в галерее тоже задаем фиксированные размеры.

Чтобы спозиционировать кнопки в галерее, добавим в разметку еще

одну обертку – тег div с классом gallery-container.

<div class="gallery-container"> <figure ...

<button ...

<button ...

</div>

Чтобы спозиционировать кнопки в галерее, добавим в разметку еще одну обертку.

Добавим обертке высоту и относительное позиционирование.

Зададим кнопкам ширину, обнулим внешние отступы, зададим boxsizing: border-box и абсолютно позиционируем. (Обратите внимание, что эти свойства мы применяем только к кнопкам галереи, а не ко всем кнопкам на странице. Поэтому необходимо кнопкам галереи добавить дополнительный класс gallery-button).

Осталось кнопки галерей прижать к нижнему краю блока. Для этого свойству bottom зададим значение 0.

Пока у нас видна только одна кнопка, т.к. кнопки у нас расположились одна над другой. Поправим это. Зададим кнопкам координаты. Кнопке «Назад» зададим свойство left со значением 0. А кнопке «Вперед» зададим свойство right со значением 0.

10. Перейдем к разделу с контактной информацией. У абзацев обнулим все внешние отступы и зададим внешний отступ снизу.

11.Переходим к форме записи. Описанию формы (класс appointmentinfo) обнулим все внешние отступы и зададим внешний отступ снизу.

Теперь приступим к оформлению самой формы.

Сделаем форму флекс-контейнером. Разрешим перенос элементов на новую строку (свойство flex-wrap).

Зададим элементам формы фиксированную ширину. Зададим форме равномерное распределение элементов. Теперь каждому элементу задаем внешние отступы.

Подписи к полям ввода (тег label) сделаем блочными элементами и зададим им внешний отступ снизу и слева.

Теперь займемся самими полями ввода. Задаем box-sizing: border-box, ширину и внутренние отступы.

Добавим стили кнопке в форме записи. Делаем кнопку блочной и задаем ширину 100%. Задаем внешние отступы.

12.Приступим к стилизации подвала. Начнем с того, что скроем текст с названием соцсетей. Обернем подписи в span и сделаем их скрытыми.

13.Добавим иконку первой соцсети. Для этого откройте иконку соцсети в редакторе. Убедитесь, что иконки сохранены в формате svg. Содержимое файла должно выглядеть следующим образом:

Скопируйте все содержимое файла и вставьте в разметку сразу после тега span.

Выполните аналогичные действия и для остальных иконок соцсетей.

14.Далее зададим социальным кнопкам ширину, высоту и фоновый

цвет.

15. Чтобы выравнять иконки в кнопках, делаем каждую кнопку флекс-контейнером. Расположим иконки по центру внутри каждой кнопки используя свойства align-items и justify-content.

16.Список кнопок делаем флекс-контейнером и зададим фиксированную ширину (конечно если у вас кнопки оформлены в виде списка). Разрешим перенос элементов на новую строку и зададим равномерное распределение. Далее обнулим внутренние отступы у списка и отцентруем его с помощью внешних отступов.

17.Зададим стили социальным кнопкам при наведении и фокусе. Стиль оформления смотрим в стайлгайде.

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

.social-button:hover path,.social-button:focus path.

19.Сделаем подпись «Мы в соцсетях» в разделе социальных кнопок блочной и зададим внешний нижний отступ.

20.Осталось стилизовать раздел копирайта. Подпись сделаем блочной

изададим нижний внешний отступ. Кнопку тоже сделаем блочной и обнулим ей правый внешний отступ.

Стилизация главной страницы готова!!!