前端怎么实现这种带尖角的图片聊天消息?

图片描述

图片左边或者右边(自己发的消息)的部分隐藏,只显示尖角部分

阅读 4.2k
7 个回答
<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <title>无标题文档</title>
    </head>    
    <body>
        <style>
            body{margin:0;padding:0;}
            .demo{width:200px;height:100px;background:#ddd;position:relative;border-radius:8px;margin:20px auto;}
            .demo:before{content:'';position:absolute;margin:0;padding:0;font-size:0;line-height:0;border-width:10px;border-color:#ddd;border-style:dashed;border-left-width:0;border-right-style:solid;border-top-color:transparent;border-bottom-color:transparent;display:inline-block;left:-10px;top:50%;margin-top:-10px;}
        </style>
        <div class="demo"></div>
    </body>
</html>

一分为二,不就好了

clipboard.png
那是一个倒三角写成的,三角的颜色与消息的背景色相同,三角定位到边线的正中间,就有那个效果了。http://www.layui.com/demo/lay...,这里面就有例子。

应该是找个尖角的svg,然后用clip-path才对吧,上面的都是 hack

还是用svg吧~

一般是hack ::before 前面写一个三角代替,
最好还是用svg处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题