Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

css - 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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...