Всем привет! Я новичок и я пытаюсь создать вот такую вот тень для фотографий:
А получается, к сожалению вот так и самостоятельно решить эту проблему у меня не получается:
Т.е. тень верхней фотографии падает на нижнюю, а этого не должно быть.
К каждой фотографии применяю display:block; position:absolute; и z-index:число;
Как вариант решения данной проблемы, могу посоветовать следующий код (в данном случае вам необходимо тень делать у контейнера, содержащего элементы):
.container {
filter: url(drop-shadow.svg#drop-shadow);
filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, .5));
}
.element {
position: relative;
width: 150px;
height: 150px;
}
.element__one {
background-color: lightgreen;
}
.element__two {
top: -70px;
left: 40px;
background-color: lightblue;
}
.element__three {
top: -140px;
left: 80px;
background-color: pink;
}
<div class="container">
<div class="element element__one"></div>
<div class="element element__two"></div>
<div class="element element__three"></div>
</div>
Подробнее про идею для решения данной проблемы можно почитать в книге Леа Веру: Секреты CSS в главе 16 "Падающие тени неправильной формы".
Если коротко, то в данном решении используются фильтр SVG, и упрощенный аналог на CSS, и если не поддерживается одно свойство, то будет применено другое.
Про фильтры подробнее можно прочитать тут и тут.
такой пример:
* {
box-sizing: border-box;
}
html,
body {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
}
img {
max-width: 100%;
width: 100%;
}
.wrap {
position: relative;
width: 100%;
height: 100%;
}
.box,
.shadow{
width: 300px;
height: 450px;
position: absolute;
left: 200px;
transform: rotate(-30deg) skew(25deg, 5deg) scale(1,1);
}
.box-1,
.shadow-1{
z-index: 1;
top: 160px;
}
.box-2,
.shadow-2{
z-index: 2;
top: 80px;
}
.box-3,
.shadow-3 {
z-index: 3;
top: 0px;
}
.shadow {
z-index: -1;
box-shadow: -20px 20px 15px 0px rgba(0,0,0,0.72);
}
<div class="wrap">
<div class="box box-1">
<img src="https://images.unsplash.com/photo-1520116575045-14cd65689b7c?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=e83313f1ba5f599db178773268b0a4f5&auto=format&fit=crop&w=500&q=60" alt="">
</div>
<div class="box box-2">
<img src="https://images.unsplash.com/photo-1519918387175-5bca15e4d9e2?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=dba21abe88de841aeab0828f8cf1bcb7&auto=format&fit=crop&w=500&q=60" alt="">
</div>
<div class="box box-3">
<img src="https://images.unsplash.com/photo-1520116647936-d5e8570bdf8a?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=7da72c3ff8ec5ab09f257ec6ca5d702e&auto=format&fit=crop&w=500&q=60" alt="">
</div>
<div class="shadow shadow-1"></div>
<div class="shadow shadow-2"></div>
<div class="shadow shadow-3"></div>
</div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей