微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 透明边框和框阴影问题

考虑以下:

HTML

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/

我知道这是正常行为而不是错误,但我希望能够将盒子阴影剪切到箭头的不透明部分.

我不能将单个图像用于语音气泡,因为内容可以是任何高度,我想避免使用拼凑在一起的多个图像,因为这个解决方案更加清晰.

任何人都可以想到一个可行的解决方案吗?

最佳答案
你所追求的是不可能的.但是,我知道一些解决方法

首先也是最简单的,从箭头上松开阴影.它仍然看起来不错.

其次,使用图像并在阴影中烘烤箭头.可能不理想,但它的工作原理.

第三个选项,只需制作一个20乘20平方的所有样式,然后用变换旋转它.你会得到一颗钻石,下一步就是用一个面具来隐藏你不需要的边缘.我以前做过这个,但是在这个过程中肯定会有点模糊,所以我实际上最终选择了第一个选项.如果您不能使用蒙版,可以将箭头包含在div / span或其他内容中,并将其设置为隐藏溢出.额外的代码,但结果相同.

如果你需要的话,我可以为最后的选项提供一个例子,但是在我有机会之前它会在今晚.

就个人而言,我会选择第一个选项.

希望有帮助:)

原文地址:https://www.jb51.cc/html/425854.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐