考虑以下:
HTML
<div class="info_bubble">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ornare ligula et nulla auctor vitae tincidunt erat congue.</p>
</div>
CSS
.info_bubble {
padding: 0 15px;
margin: 1em 0 3em;
border: 5px solid #FFF;
background: #A6CE39;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
width: 200px;
box-shadow: 0 0 10px #000;
color: #FFF;
position: absolute;
left: 50px;
top: 50px;
}
.info_bubble::before {
content: "";
position: absolute;
bottom: -20px;
left: 40px;
border-width: 20px 20px 0;
border-style: solid;
display: block;
width: 0;
top: 10px;
bottom: auto;
left: -23px;
border-width: 15px 23px 15px 0;
border-color: transparent #FFF;
}
.info_bubble::after {
content: "";
position: absolute;
bottom: -13px;
left: 47px;
border-width: 13px 13px 0;
border-style: solid;
display: block;
width: 0;
top: 16px;
bottom: auto;
left: -15px;
border-width: 9px 15px 9px 0;
border-color: transparent #A6CE39;
}
一个例子:http: //jsfiddle.net/ysqQV/2/
上面从左侧生成一个带有三角形“箭头”的“语音气泡”。箭头由边框创建,部分透明,部分不透明。
我想在对话泡泡后面使用一个盒子阴影,但这在箭头周围有点时髦,因为它从整个元素而不是不透明部分投下阴影。
示例:http: //jsfiddle.net/ysqQV/1/
我知道这是正常行为而不是错误,但我希望能够将框阴影剪辑到箭头的不透明部分。
我不能将单个图像用于语音气泡,因为内容可以是任何高度,并且我想避免使用拼凑在一起的多个图像,因为这个解决方案非常干净。
谁能想到一个可行的解决方法?