使用以下代码:
element{
width:300px;
border:9px solid;
border-color:rgb(0,0,0);
border-color:rgba(0,0,0, 0.7);
}
由于两个边框的叠加,我最终得到了更暗的角落......我发现的唯一方法是添加一个border-radius
等于边框宽度的方法。还有其他解决方法吗?
我目前只在 chrome 中进行了测试,我现在没有其他浏览器可用。
border-spacing
像这样在你的桌子上使用:
table
{
border-collapse: separate;
border-spacing: 0;
}
结合一些不错的 CSS 选择器来防止边框重叠(见下文)。这将适用于除最后一个之外的所有 td。
table td:not(:last-child)
{
}
然后你可以使用没有重叠的 rgba 边框。
由于大多数浏览器都支持box-shadow,你可以这样使用它:
box-shadow: 0 0 0 9px rgba(0, 0, 0, 0.7);
也不是很优雅,但有效的是:
element{
width:300px;
border:9px solid;
border-top-color: rgba(0,0,0, 0.7);
border-bottom-color: rgba(0,0,0 0.7);
border-right-color: rgba(1,1,1, 0.7);
border-left-color: rgba(1,1,1 0.7);
}
颜色差异导致颜色以 45% 的角度相遇。你也可以像这样创建斜面。
它不是很优雅,但是您可以<div>
使用实心边框和不透明度值进行包装:http: //jsfiddle.net/4gutj/24/
HTML:
<div class="opacity-wrapper">
<div class="transparent-border">Foo</div>
</div>
CSS:
.transparent-border {
width:300px;
font-size: 40px;
padding: 10px;
text-align: center;
border:30px solid;
border-color:rgb(0,0,0);
border-color:rgba(0,0,0, 0.7);
margin-bottom: 10px;
}
.opacity-wrapper {
background-color: rgb(0, 0, 0);
opacity: 0.7;
padding: 30px;
width:320px;
}
.opacity-wrapper div {
padding: 10px;
background-color: rgb(255, 255, 255);
color: rgb(0, 0, 0);
font-size: 40px;
text-align: center;
}