How to do an inset border with a border radius on an image

1.8k Views Asked by At

How do to an inset border with a border radius on an image like so: enter image description here

I can use the outline CSS property

.img{
    border-radius: 16px;
    outline: 3px solid #fece40;
    outline-offset: -16px;  
}

But that gives me the inset border but there is no radius setting for outline.

1

There are 1 best solutions below

0
Temani Afif On BEST ANSWER

Use an extra div and consider pseudo element:

.img {
  border-radius: 16px;
  display: inline-block;
  overflow: hidden;
  position: relative;
}

.img:before {
  content: "";
  position: absolute;
  border-radius: inherit;
  border: 3px solid #fece40;
  inset: 16px;
}

img {
  display: block;
}
<div class="img"><img src="https://picsum.photos/id/237/200/200"></div>