【发布时间】:2019-02-20 05:11:10
【问题描述】:
我需要为工具提示制作一个带箭头的框,但我不能使用伪元素,因为:
- 框背景有点透明
- 有边框
这是一个例子:
.box {
margin: 60px 0 0 0;
width: 250px;
height: 50px;
background-color: rgba(255, 144, 89, 0.5);
border-radius: 5px;
position: relative;
border: 2px solid #ff6e26;
}
.box:after,
.box:before {
bottom: 100%;
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.box:after {
border-color: rgba(136, 183, 213, 0);
border-bottom-color: rgba(255, 144, 89, 0.5);
border-width: 10px;
margin-left: -10px;
}
.box:before {
border-color: rgba(194, 225, 245, 0);
border-bottom-color: #ff6e26;
border-width: 12px;
margin-left: -12px;
}
<div class="box"></div>
https://codepen.io/Masoudm/pen/qgvJGX
正如您所见,当我使背景透明时,它不适用于箭头,因为我已经在它后面使用了 ::before 作为它的边框。我想知道是否有另一种方法可以让我保持盒子大小动态。
更新:
盒子应该是这样的(除了顶部的曲线)
【问题讨论】:
-
你能添加任何你想要的箭头应该是什么样子的图像吗?
-
@AbhishekPandey 我更新了图片。