我在div
(#telegram-join
)下创建一个伪元素箭头,两者都有背景/边框颜色作为RGBA值(rgba(255, 255, 255, 0.25)
),但箭头是受到不同影响,看起来比div
更暗。这是因为它更小吗?我怎么能匹配它们?谢谢!
HTML
<div id="telegram-join" class="bg-combo">
<h1><i class="fa fa-telegram"></i> Chat with us on Telegram</h1>
</div>
CSS:
.bg-combo {
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
border-radius: 8px;
padding: 5px 10px;
width: fit-content;
background-color: white;
background-color: rgba(255, 255, 255, 0.25);
text-align: center;
}
.bg-combo h1 {
display: inline-block;
font-size: 2em;
line-height: 1.5;
text-transform: uppercase;
}
.bg-combo h1 i {
margin-right: 10px;
}
#telegram-join {
position: relative;
margin: 15px auto 25px;
}
#telegram-join :after {
position: absolute;
top: 100%;
left: 50%;
transform: rotate(-45deg);
transform-origin: 50% 50%;
margin-left: -15px;
margin-top: -15px;
border: 15px solid #fff;
width: 0;
height: 0;
border-color: transparent transparent rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.25);
content: '';
}
演示:CodePen
答案 0 :(得分:1)
你的背景颜色(容器的)有0.25%的不透明度,而伪元素(在那个元素里面)也有0.25%的不透明度(所以它的背景不再是身体背景,它是新的背景容器元素 - 具有不透明度。)
您可以通过将伪元素的不透明度设置为0.125%来解决此问题:
border-color: transparent transparent rgba(255,255,255,0.125) rgba(255,255,255,0.125);
或者将两个元素的背景设置为您想要的实际颜色:
border-color: transparent transparent #D7D7D7 #D7D7D7;
以下是您的codepen的更新:
https://codepen.io/anon/pen/eEXqaO