neilgee
neilgee

Reputation: 538

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

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.

Upvotes: 2

Views: 2260

Answers (1)

Temani Afif
Temani Afif

Reputation: 272985

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>

Upvotes: 1

Related Questions