CSS 内嵌边框

2024-03-13

我需要创建一个纯色插入边框。这是我正在使用的 CSS 代码:

border: 10px inset rgba(51,153,0,0.65);

不幸的是,这会创建 3D 脊状边框(忽略正方形和黑色描述框)


你可以使用box-shadow,可能:

#something {
    background: transparent url(https://i.stack.imgur.com/RL5UH.png) 50% 50% no-repeat;
    min-width: 300px;
    min-height: 300px;
    box-shadow: inset 0 0 10px #0f0;
}
#something {
  background: transparent url(https://i.stack.imgur.com/RL5UH.png) 50% 50% no-repeat;
  min-width: 300px;
  min-height: 300px;
  box-shadow: inset 0 0 10px #0f0;
}
<div id="something"></div>

这样做的好处是它会覆盖背景图像div,但它当然是模糊的(正如您所期望的那样)box-shadow财产)。为了建立density当然,你可以添加额外的阴影:

#something {
    background: transparent url(https://i.stack.imgur.com/RL5UH.png) 50% 50% no-repeat;
    min-width: 300px;
    min-height: 300px;
    box-shadow: inset 0 0 20px #0f0, inset 0 0 20px #0f0, inset 0 0 20px #0f0;
}
#something {
  background: transparent url(https://i.stack.imgur.com/RL5UH.png) 50% 50% no-repeat;
  min-width: 300px;
  min-height: 300px;
  box-shadow: inset 0 0 20px #0f0, inset 0 0 20px #0f0, inset 0 0 20px #0f0;
}
<div id="something"></div>

Edited因为我意识到我是个白痴,忘记提供最简单的解决方案first,它使用一个空的子元素在背景上应用边框:

#something {
  background: transparent url(https://i.stack.imgur.com/RL5UH.png) 50% 50% no-repeat;
  min-width: 300px;
  min-height: 300px;
  padding: 0;
  position: relative;
}
#something div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 10px solid rgba(0, 255, 0, 0.6);
}
<div id="something">
  <div></div>
</div>

Edited after @CoryDanielson 的评论,如下 https://stackoverflow.com/questions/8452739/css-inset-borders/8452798#comment10449767_8452798:

jsfiddle.net/dPcDu/2 您可以添加第四个 px 参数box-shadow这样可以传播并且更容易反映他的形象。

#something {
  background: transparent url(https://i.stack.imgur.com/RL5UH.png) 50% 50% no-repeat;
  min-width: 300px;
  min-height: 300px;
  box-shadow: inset 0 0 0 10px rgba(0, 255, 0, 0.5);
}
<div id="something"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 内嵌边框 的相关文章