【HTML5】简单实现QQ聊天气泡效果

WEB前端 waitig 493℃ 百度已收录 0评论
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>【HTML5】简单实现QQ聊天气泡效果</title>
    <!--
        步骤1:布局
        消息採用div+float布局,每条消息用一个DIV标签包裹,里面再放两个DIV分别用来包裹用户图标和用户消息内容。
        左側消息,先清除浮动,然后设置 float:left。这样用户图标和消息内容就能够显示在同一行了,当中用户图标在左边,消息内容紧邻着用户图标。

        右側消息,相同先清除浮动。然后设置 float:right,这样用户图标和消息显示在同一行了。当中图标在最右边。图标左側是消息。

        步骤2:设置圆角矩形
        border-radius:7px;

        步骤3:三角形箭头
        将DIV的宽度和高度设置为0,设置边框宽度,能够使其表现出一个由四个三角形组成的矩形,每一个三角形的颜色和大小能够通过设置border宽度和颜色设置。
        这里将当中三个三角形颜色设置为透明。仅仅留下一个三角形可见。

        .triangle{
        width: 0px;
        height: 0px;
        border-width: 15px;
        border-style: solid;
        border-color: red blue green gold;
        }

        .triangle{
        width: 0px;
        height: 0px;
        border-width: 15px;
        border-style: solid;
        border-color: transparent transparent transparent red;
        }

        关键点4:三角形尾随矩形框
        使用相对定位。能够使三角形始终固定在矩形框的边上。-->
    <style>
        /* bubble style */
        .sender{
            clear:both;
        }
        .sender div:nth-of-type(1){
            float: left;
        }
        .sender div:nth-of-type(2){
            background-color: aquamarine;
            float: left;
            margin: 0 20px 10px 15px;
            padding: 10px 10px 10px 0px;
            border-radius:7px;
        }

        .receiver div:first-child img,
        .sender div:first-child img{
            width:50px;
            height: 50px;
        }

        .receiver{
            clear:both;
        }
        .receiver div:nth-child(1){
            float: right;
        }
        .receiver div:nth-of-type(2){
            float:right;
            background-color: gold;
            margin: 0 10px 10px 20px;
            padding: 10px 0px 10px 10px;
            border-radius:7px;
        }

        .left_triangle{
            height:0px;
            width:0px;
            border-width:8px;
            border-style:solid;
            border-color:transparent aquamarine transparent transparent;
            position: relative;
            left:-16px;
            top:3px;
        }

        .right_triangle{
            height:0px;
            width:0px;
            border-width:8px;
            border-style:solid;
            border-color:transparent transparent transparent gold;
            position: relative;
            right:-16px;
            top:3px;
        }

    </style>
</head>
<body>
<!-- Left -->
<div class="sender">
    <div>
        <img src="../img/us_flag.png" height="462" width="427"/></div>
    <div>
        <div class="left_triangle"></div>
        <span> 我是世界警察:美利坚</span>
    </div>
</div>
<!-- Right -->
<div class="receiver">
    <div>
        <img src="../img/y.jpg" height="640" width="640"/></div>
    <div>
        <div class="right_triangle"></div>
        <span> 我是倭寇岛主:樱花 </span>
    </div>
</div>
<!-- Left -->
<div class="sender">
    <div>
        <img src="../img/chinaArmyPeople.jpg"/></div>
    <div>
        <div class="left_triangle"></div>
        <span> 我是世界人民领导者:中国 </span>
    </div>
</div>
<!-- Right -->
<div class="receiver">
    <div>
        <img src="../img/de_flag.png" height="640" width="640"/></div>
    <div>
        <div class="right_triangle"></div>
        <span> 我是卓越企业家:德国 </span>
    </div>
</div>
<!-- Left -->
<div class="sender">
    <div>
        <img src="../img/frence_flag.png" height="462" width="427"/></div>
    <div>
        <div class="left_triangle"></div>
        <span> 我是浪漫帝国:法兰西</span>
    </div>
</div>
<!-- Right -->
<div class="receiver">
    <div>
        <img src="../img/canada_flag.png" height="640" width="640"/></div>
    <div>
        <div class="right_triangle"></div>
        <span> 我是枫叶之国:加拿大 </span>
    </div>
</div>

</body>
</html>

本文由【waitig】发表在等英博客
本文固定链接:【HTML5】简单实现QQ聊天气泡效果
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)