将CSS箭头添加到Div的左上角

时间:2017-09-27 18:52:18

标签: html css css3

我试过调整CSS http://jsfiddle.net/wn7JN/在左上角的<div>放置一个箭头(见下图),但我似乎无法弄清:before:after的方式在CSS工作中。每当我更新bottomleft参数时,我左上角都会出现黑色箭头 - 我认为正确的旋转是transform: rotate(220deg),但这确实是猜测。

编辑:是否可以使用rgba颜色执行相同的CSS技巧,例如rgba(255, 123, 172, 0.25)?当我测试它时,透明度成为边框重叠的问题。

<div> with Arrow

非常感谢任何帮助。

&#13;
&#13;
.bubble {
  position: relative;
  width: 400px;
  height: 250px;
  padding: 0px;
  background: #FFFFFF;
  border: #000 solid 1px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.bubble:after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 175px;
  border-style: solid;
  border-width: 25px 25px 0;
  border-color: #FFFFFF transparent;
  display: block;
  width: 0;
  z-index: 1;
}

.bubble:before {
  content: "";
  position: absolute;
  top: 250px;
  left: 174px;
  border-style: solid;
  border-width: 26px 26px 0;
  border-color: #000 transparent;
  display: block;
  width: 0;
  z-index: 0;
}
&#13;
<div class="bubble"> </div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

试试这样。添加了工作副本。

.bubble {
position: relative;
background:#cbe8f0;
height: 100px;
width:170px;
margin-left:30px;
border-radius:2px;
}

.bubble:after{
  content:'';
  position:absolute;
  border:10px solid transparent;
  border-top:10px solid #cbe8f0;
  top:0px;
  left:-10px;
}
<div class="bubble"> </div>

答案 1 :(得分:1)

你也可以根据jsfiddle来解决这个问题。

.bubble:after 
{
content: "";
position: absolute;
top:0px;
left: -21px;
border-style: solid;
border-width: 24px 0px 0px 28px;
border-color: #FFFFFF transparent;
display: block;
width: 0;
z-index: 1;
}

.bubble:before 
{
content: "";
position: absolute;
top:-1px;
left:-23px;
border-style: solid;
border-width:20px 0px 0px 23px;
border-color: #000 transparent;
display: block;
width: 0;
z-index: 0;
}

http://jsfiddle.net/wn7JN/1295/

答案 2 :(得分:0)

所以,这是你的泡泡代码:

.bubble {
    position: relative;
    width: 400px;
    height: 250px;
    padding: 0px;
    background: #FFFFFF;
    border: #000 solid 1px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

将此行添加到其中:margin-left:25px;这样可以在气泡侧面留出空间,让箭头显示出来。否则,就在那里,但你看不到它。

代表bubble:after,将bottom: -25px更改为top: 21px,将left: 175px更改为left: -37px,然后将transform: rotate(90deg);添加到底部。< / p>

代表bubble:before,将top: 250px更改为top: 20px,将left: 174px更改为left: -39px,然后将transform: rotate(90deg);添加到底部。< / p>

你会结束这样的事情:

bubble with arrow in top left 1

最后的小提琴:http://jsfiddle.net/eq6mhbwy/