<MyRusakov.ru />

Программирование на C++ с Нуля до Гуру

Программирование на C++ с Нуля до Гуру

Данный курс научит Вас программировать на языке C++, который, несмотря на свой почтенный возраст, необычайно сильно востребован. Курс состоит из 6 разделов, посмотрев которые и выполнив все упражнения, Вы с нуля освоите этот язык и сможете создавать самые разные проекты любой сложности на C++.

Для закрепления материала из уроков к ним идёт множество упражнений.

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

Также вместе с курсов Вы получаете Бонус "Программирование на C++ в Unreal Engine", в котором Вы научитесь создавать игры на C++ с использованием этого движка.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Изогнутая тень с помощью псевдоэлементов

Изогнутая тень с помощью псевдоэлементов

Для получения изогнутой тени, нужно прописать обоим псевдоэлементам before и after, CSS-свойство transform: skewY. По оси Y, мы изменим прямые углы на +-7.5 градусов. По крайней мере 2 угла у прямоугольника будут не 90 градусов, так мы получим искаженную фигура.

HTML разметка

В HTML разметке мы создали обертку wrap для блока с тенью curved shadow.

<div class="wrap curved">
    <div class="shadow">
        <div>Curved Shadow</div>
    </div>
</div>

CSS код

Зададим обертке wrap значения у свойств justify-content и align-items, выравнивающие по центру и назначим ее флексовым контейнером.

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}
.wrap{
    position: relative;
    width: 50%;
    height: 50vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

Внутри wrap поместим блок curved со светло-желтым фоном. На нем будет хорошо видна тень.

.curved{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FAFAFA;
}


Изогнутая тень с помощью псевдоэлементов.

Теперь создадим красный блок с белой рамкой. Белая рамка здесь необязательный компонент, она больше служит как украшательство.

.curved{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFF3E0;
}
.curved .shadow{
    position: relative;
    width: 450px;
    height: 250px;
    z-index: 2;
}
.curved .shadow div{
    position: absolute;
    width: 100%;
    height: 100%;
    background: #FF5722;
    border: 10px solid #fff;
    z-index: 10; / * красный блок на верхнем слое * /
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 3em;
}


Изогнутая тень с помощью псевдоэлементов.

Создание теней

Нам потребуется два псевдоэлемента: before для левой тени и after для правой тени. Псевдоэлементы называются так, потому что их нет в HTML разметке. Поскольку они играют чисто декоративную роль и в целом повторяют контуры своего родителя-элемента.

/ * левая тень * /
.curved .shadow:before{
    content: '';
    position: absolute;
    bottom: 30px;
    left: 4%;
    width: 70%;
    height: 70%;
    background: #000;
    transform-origin: right; / * трансформация относительно правой точки * /
    transform: skewY(-7.5deg); / * искажение по углов * /
    filter: blur(15px); / * размытие тени * /
    z-index: 1; / * тень на нижнем слое * /
    opacity: 0.5; / * полупрозрачная тень * /
}


Изогнутая тень с помощью псевдоэлементов.

/ * правая тень * /
.curved .shadow:after{
    content: '';
    position: absolute;
    bottom: 30px;
    right: 4%;
    width: 70%;
    height: 70%;
    background: #000;
    transform-origin: left; / * трансформация относительно левой точки * /
    transform: skewY(7.5deg);
    filter: blur(15px);
    z-index: 1;
    opacity: 0.5;
}


Изогнутая тень с помощью псевдоэлементов.

Чтобы продемонстрировать тени полностью, значение у z-index было выставлено 20. Таким образом тени оказались на самом верхнем слое и чтобы поставить их под красный элемент, достаточно значение z-index сделать меньше, чем у блока-родителя.



Изогнутая тень с помощью псевдоэлементов.

Посмотрите пример на CodePen

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.