Красивое оформление - обрезание картинки на CSS
При наведении круг немного увеличивается, а картинка всплывает (приближается к нам), сделано на чистом CSS.
Сразу смотрим демо.
HTML
<div class="person">
<div class="container">
<div class="container-inner">
<img class="circle" src="img/bg.jpg"/>
<img class="img img2" src="img/hero.png" />
</div>
</div>
</div>
CSS
person {
align-items: center;
display: flex;
flex-direction: column;
width: 280px;
}
.container {
border-radius: 50%;
height: 312px;
-webkit-tap-highlight-color: transparent;
transform: scale(0.48);
transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
width: 400px;
}
.container:after {
background-color: #f2f2f2;
content: "";
height: 10px;
position: absolute;
top: 390px;
width: 100%;
}
.container:hover {
transform: scale(0.54);
}
.container-inner {
clip-path: path(
"M 390,400 C 390,504.9341 304.9341,590 200,590 95.065898,590 10,504.9341 10,400 V 10 H 200 390 Z"
);
position: relative;
transform-origin: 50%;
top: -200px;
}
.circle {
background-color: #fee7d3;
border-radius: 50%;
cursor: pointer;
height: 380px;
left: 10px;
pointer-events: none;
position: absolute;
top: 210px;
width: 380px;
}
.img {
pointer-events: none;
position: relative;
transform: translateY(20px) scale(1.15);
transform-origin: 50% bottom;
transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.container:hover .img {
transform: translateY(0) scale(1.2);
}
.img2 {
left: -46px;
top: 174px;
width: 444px;
}
Используем clip-path для создания круга.