CSS эффект старого постера
Как придать фотографии эффект старого постера? Легко, пара строк css и эффект готов.
Первое что понадобится для реализации, помимо самого изображения, — блок с нужным нам классом:
<div class="poster">
<img src="https://domain.ru/images.png" />
</div>
Вот и всё. Теперь перейдём к стилям.
.poster {
width: 300px;
padding: 7%;
position: relative;
box-sizing: border-box;
background-color: #fff;
box-shadow: 0 3px 12px rgba(0,0,0,0.2);
-webkit-filter: saturate(70%) contrast(85%);
filter: saturate(70%) contrast(85%);
}
.poster img {
width: 100%;
display: block;
z-index: 1;
}
Здесь можно отметить filter: saturate(70%) contrast(85%);
, этот код придаёт изображению слегка обесцвеченный вид. Можно поиграть с фильтрами, сделать чёрно-белыми, например.
Остаётся добавить вид сгибов:
.poster:before,
.poster:after {
content: '';
width: 100%;
left: 0;
position: absolute;
}
.poster:before {
height: 4%;
bottom: -4%;
background-repeat: no-repeat;
background-image: linear-gradient(177deg, rgba(0,0,0,0.22) 10%, transparent 50%), linear-gradient(-177deg, rgba(0,0,0,0.22) 10%, transparent 50%);
background-size: 49% 100%;
background-position: 2% 0, 98% 0;
}
.poster:after {
height: 100%;
top: 0;
z-index: 2;
background-repeat: no-repeat;
background-image: linear-gradient(to right, rgba(255,255,255,0.1) 0.5%, rgba(0,0,0,0.15) 1.2%, transparent 1.2%), linear-gradient(to bottom, rgba(255,255,255,0.1) 0.5%, rgba(0,0,0,0.15) 1.2%, transparent 1.2%), linear-gradient(to bottom, rgba(255,255,255,0.1) 0.5%, rgba(0,0,0,0.15) 1.2%, transparent 1.2%), linear-gradient(265deg, rgba(0,0,0,0.2), transparent 10%), linear-gradient(5deg, rgba(0,0,0,0.2), transparent 15%), linear-gradient(-5deg, rgba(0,0,0,0.1), transparent 10%), linear-gradient(5deg, rgba(0,0,0,0.1), transparent 10%), linear-gradient(-265deg, rgba(0,0,0,0.2), transparent 10%), linear-gradient(-5deg, rgba(0,0,0,0.2), transparent 15%), linear-gradient(266deg, rgba(0,0,0,0.2), transparent 10%);
background-size: 50% 100%, 100% 33.3333%, 100% 33.3333%, 50% 33.3333%, 50% 33.3333%, 50% 33.3333%, 50% 33.3333%, 50% 33.3333%, 50% 33.3333%, 50% 33.3333%;
background-position: right top, left center, left bottom, left top, left top, right top, left center, right center, right center, left bottom;
}
Посмотреть как это выглядит вживую можно на codepen у автора Lynn Fisher здесь