Чем отличается box-shadow от drop-shadow?
CSS-свойство box-shadow задает тень блоку, а функция drop-shadow() делает тень по контурам элемента, учитывая прозрачные участки. В этом и состоит принципиальное различие.
CSS-свойство box-shadow
box-shadow создает эффект тени для любого элемента страницы и может принимать до 5 значений:
- горизонтальное смещение
- вертикальное смещение
- радиус размытия
- растяжение
- цвет тени
Для более сложных вариантов возможно создавать несколько теней для одного элемента.
Текст с тенью
<div class="container">
<h2 class="text1">Box Shadow</h2>
</div>
.container{
position: relative;
width: 900px;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: column;
}
.container h2{
font-size: 5em;
line-height: 1em;
padding: 5px 20px;
}
.container .text1{
color: #fff;
border-radius: 20px;
box-shadow: -3px -3px 2px rgba(255,255,255,0.3), // тень #1
5px 5px 5px rgba(0,0,0,0.2), // тень #2
15px 15px 15px rgba(0,0,0,0.2); // тень #3
}
Изображение с тенью
<div class="box">
<img src="star1.png" class="img1">
</div>
.container .box{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.container .img1{
border-radius: 20px;
box-shadow: -3px -3px 2px rgba(255,255,255,0.3), // тень #1
5px 5px 5px rgba(0,0,0,0.2), // тень #2
15px 15px 15px rgba(0,0,0,0.2); // тень #3
}
Функция drop-shadow()
Функция drop-shadow() добавляет тень к тексту или изображению с учётом прозрачных областей.
Текст с тенью
<h2 class="text2">Drop Shadow</h2>
.container .text2{
padding: 40px;
box-shadow: none;
border-radius: 40px;
color: #d31616;
filter: drop-shadow(-3px -3px 2px rgba(255,255,255,0.3)) // тень #1
drop-shadow(5px 5px 5px rgba(0,0,0,0.2)) // тень #2
drop-shadow(15px 15px 15px rgba(0,0,0,0.2)); // тень #3
}
Изображение с тенью
<img src="star2.png" class="img2">
.container .img2{
padding: 40px;
box-shadow: none;
border-radius: 40px;
filter: drop-shadow(-3px -3px 2px rgba(255,255,255,0.3)) // тень #1
drop-shadow(5px 5px 5px rgba(0,0,0,0.2)) // тень #2
drop-shadow(15px 15px 15px rgba(0,0,0,0.2)); // тень #3
}
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.