问题描述:border-color
和background-color
使用rgba颜色,border
颜色会进行叠加。
<style>
div {
width: 400px;
height: 400px;
border: 20px solid ;
border-color: rgba(52, 132, 254, 0.8);
background-color: rgba(52, 132, 254, 0.8);
}
</style>
<div></div>

解决方法:
1. border-color
设置为transparent
。(适合于border
和background
都是rgba且相同的情况)
div {
width: 400px;
height: 400px;
border: 20px solid ;
border-color: transparent;
background-color: rgba(52, 132, 254, 0.8);
}

2.使用background-clip
,指定一个框内的背景应该从哪里开始(border-box
, padding-box
, content-box
)。

// *推荐
div {
width: 400px;
height: 400px;
border: 20px solid ;
border-color: transparent;
background-color: rgba(52, 132, 254, 0.8);
-moz-background-clip: padding;
-webkit-background-clip: padding;
background-clip: padding-box;
}
