如果页面上存在具有多种边框颜色的元素,则默认情况下,这些颜色相交的角创建斜角.这似乎是边角式的奇怪选择.我宁愿选择其中一个边框"压制"另一个边框,而是显示一条直线.
为了说明这种效果,请考虑以下事项:

请参阅我在这里创建的示例jsFiddle示例.
前两项显示默认的斜角行为.底部两个显示所需的预期行为,在这种情况下,边界顶部"超能力"或"覆盖"边界左边和右边边角.
顶级案例的标记:
<div class="container">
<div class="border">Item one</div>
<div class="border">Item two</div>
</div>
Run Code Online (Sandbox Code Playgroud)
而CSS:
.container {
margin: 5px;
width: 150px;
background: yellow;
}
.border {
padding: 5px;
border: 15px solid red;
border-top: 15px solid teal;
}
Run Code Online (Sandbox Code Playgroud)
底壳的标记:
<div class="container">
<div class="border-top"></div>
<div class="border-reg">Item one</div>
<div class="border-top"></div>
<div class="border-reg">Item two</div>
</div>
Run Code Online (Sandbox Code Playgroud)
而CSS:
.border-top {
border-top: 15px solid teal;
}
.border-reg {
border: 15px solid red;
border-top: 0;
padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)
虽然我设计的第二种方法确实产生了我想要的效果,但似乎这对于我认为具有默认状态的东西来说是不必要的乏味.例如,如果我希望border-left覆盖其他边框,我将不得不处理一些float: left内联元素的疯狂.
有没有更简单的方法来删除在所有浏览器上观察到的默认斜角行为?
虽然上面详述的案例很容易让边框顶部或边框底部覆盖角落,但这并不容易,例如,如果我需要边框左边和右边边框来覆盖边框 - …