border-color:rgba()边界在角落重叠,给出比预期暗的颜色

| 使用以下代码:
element{
    width:300px;
    border:9px solid;
    border-color:rgb(0,0,0);
    border-color:rgba(0,0,0, 0.7);
}
由于两个边界的重叠,我最终得到了较暗的角...我发现的唯一方法是添加一个等于边界宽度的
border-radius
。还有其他解决方法吗? 目前,我仅在chrome中进行过测试,目前没有其他浏览器。     
已邀请:
它不是很优雅,但是您可以制作一个带有实线边框和不透明度值的包装
<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;
}
    
在桌子上使用
border-spacing
,如下所示:
table
{
    border-collapse: separate;
    border-spacing: 0;
}
与一些不错的CSS选择器结合使用,以防止边框重叠(请参见下文)。这将适用于除最后一个以外的所有tds。
table td:not(:last-child)
{

}
参见jsFiddle上的演示 然后,您可以使用不重叠的rgba边框。     
同样不是很优雅,但是可以做到的是:
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%的角度相遇。您也可以像这样创建斜角。     
由于大多数浏览器都支持盒阴影,因此您可以像这样使用它:
box-shadow: 0 0 0 9px rgba(0, 0, 0, 0.7);
    

要回复问题请先登录注册