Мне нужно сделать эффект с помощью HTML и CSS только с круговым изображением, окружающим другое изображение.
Вот чего я пытаюсь достичь:
В этом примере круг — это изображение SVG. Центральное изображение представляет собой PNG с border-radius
.
Я думаю, что лучшим способом было бы использовать верхнюю половину основного изображения в качестве маски для изображения круга. Я искал свойства mask
и clip-path
, но безуспешно.
Вот мой код:
<div class = "main-image">
<div class = "image-container">
<img src = "uploads/main_image.png">
</div>
<div class = "outline-circle"></div>
</div>
.image-container {
position: relative;
border-radius: 9999px;
overflow: hidden;
img {
width: 30vw;
max-width: 500px;
}
}
.outline-circle {
position: absolute;
top: 0;
left: 0;
background-image: url(../img/circle_1.svg);
height: 100%;
width: 600px;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
Но с помощью этого кода круг просто позиционируется поверх изображения:
Спасибо за вашу помощь,
Спасибо за ваш ответ @Sean, я обновил свой вопрос.
Вы можете попробовать, как показано ниже:
.box {
display: inline-block;
position: relative;
margin: 10px 50px;
transform-style: preserve-3d; /* this is important */
}
.box:before {
content: "";
position: absolute;
inset: auto -40px;
aspect-ratio: 1;
border-radius: 50%;
border: 5px solid;
border-color: blue green red blue;
transform: rotate(16deg) rotateX(41deg); /* play with this */
}
img {
border-radius: 999px;
}
<div class = "box">
<img src = "https://picsum.photos/id/1069/200/300">
</div>
Большое спасибо, это работает как шарм!
Пожалуйста, поделитесь кодом того, что вы уже пробовали.