Для реализации этого эффекта нужно просто обернуть фотографию в один <div>
с классом book
Примеры:
HTML:
1 2 3 |
<div class="book"> <img src="image.jpg" alt="" /> </div> |
CSS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
.book { width: 18.5em; height: 23.0991em; margin-top: -4.4em; position: relative; margin-left: auto; margin-right: auto; transform: perspective(60em) rotateX(58deg) rotateZ(-34deg) skewY(-7deg); box-shadow: -1.4em 1.7em 0.3em -0.3em rgba(0,0,0,0.8), -1.6em 1.8em 0.9em -0.2em rgba(0,0,0,0.5), 0.3em 1.9em 1.3em rgba(0,0,0,0.3); border-top-right-radius: 0.4em; } .book img { border-top-right-radius: 0.4em; box-sizing: border-box; width: 100%; clip: rect(0em, 18.5em, 23.1em, 0em); display: block; position: absolute; filter: saturate(90%); } .book:before, .book:after { content: ''; position: absolute; top: 0; } .book:before { width: 105%; height: 105%; left: -5%; z-index: -1; background-repeat: no-repeat; background-image: linear-gradient(115deg, transparent 2.8%, #3f3f3f 3%, #3f3f3f 16%, transparent 16%), linear-gradient(125deg, transparent 10%, #3f3f3f 10%, #3f3f3f 17%, #222 46.8%, transparent 47%), linear-gradient(125deg, transparent 46%, rgba(0,0,0,0.5) 46.5%, rgba(0,0,0,0.25) 49%, transparent 53%), linear-gradient(to right, #444, #666), linear-gradient(#444, #444), linear-gradient(140deg, transparent 45%, #eee 45%, #ccc 96.8%, rgba(170,170,170,0) 97%); background-size: 100% 100%, 100% 100%, 100% 100%, 100% 0.4em, 94% 0.2em, 100% 100%; background-position: 0 0, 0 0, 0 0, 0 95.8%, 0 100%, 0 0; } .book:after { width: 100%; height: 100%; background-repeat: no-repeat; background-image: linear-gradient(to right, transparent 2%, rgba(0,0,0,0.1) 3%, rgba(0,0,0,0.1) 4%, transparent 5%), linear-gradient(-50deg, rgba(0,0,0,0.1) 20%, transparent 100%), linear-gradient(-50deg, rgba(0,0,0,0.2) 20%, transparent 100%), linear-gradient(to bottom, rgba(0,0,0,0.1) 20%, transparent 100%), linear-gradient(to bottom, rgba(0,0,0,0.1) 20%, transparent 100%); background-size: 100% 100%, 2% 20%, 1% 20%, 2% 20%, 1% 20%; background-position: 0 0, 2.2% 100%, 3% 100%, 2.2% 0, 3% 0; } |
Найдено на codepen.io у пользователя Lynn Fisher
Добрый день. Замечательный эффект ! С далеко возможным развитием...
Но вот у меня не вышло применить его. Искажает. Что не так.
Вот фон для него: https://ibb.co/1KLJ349
А вот, что выходит:
https://ibb.co/jLxBVVN
Размер фотографии.
Тут нужно вертикльное фото, а не горизонтальное или квадратное.
Можно конечно что-нибудь нахимичить, но лишнее все равно отрежется и не будет его видно.
Да, Александр ! Действительно размер... Повозился и сделал желаемое
Нужно добавить в статью предпочтительные размеры 420 х 530 !!!
Демонстрирую:
https://ibb.co/MnDDTsg
Спасибо !!!