zoukankan      html  css  js  c++  java
  • HTML5实现微信聊天气泡效果

    最近做一个HybridApp,前端有一个群聊的功能,于是就想模仿微信的聊天界面,先看效果图:

    screenshot

    HTML代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>HTML5实现微信聊天气泡效果</title>
      <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
      <link rel="stylesheet" href="chatbox.css">
    </head>
    <body>
    
    <!-- Left -->
    <div class="chat-sender">
      <div><img src="img/ben.png"></div>
      <div>阿奔 Ben</div>
      <div>
        <div class="chat-left_triangle"></div>
        <span> 苹果增加三款配件的颜色选项</span>
      </div>
    </div>
    <!-- Right -->
    <div class="chat-receiver">
      <div><img src="img/max.png"></div>
      <div>好人·马克思</div>
      <div>
        <div class="chat-right_triangle"></div>
        <span> 但是如果你正在再发新的APP跨平台项目,我建议你考虑一下Ionic2/Ionic3。 ionic2/Ionic3的架构使得“单一职责原则”得到了体现,组件、页面之间相互独立,有利于内聚和解耦。</span>
      </div>
    </div>
    <!-- Right -->
    <div class="chat-sender">
      <div><img src="img/adam.jpg"></div>
      <div>阿达姆 Adam</div>
      <div>
        <div class="chat-left_triangle"></div>
        <span> 一款接近原生的Html5移动App开发框架</span>
      </div>
    </div>
    <!-- Notice/Center -->
    <div class="chat-notice">
      <span>2017年12月10日 23:13</span>
    </div>
    <!-- Left -->
    <div class="chat-sender">
      <div><img src="img/perry.png"/></div>
      <div>佩里 Perry</div>
      <div>
        <div class="chat-left_triangle"></div>
        <span> Ionic遵循视图控制模式,通俗的理解和 Cocoa 触摸框架相似。在视图控制模式中,我们将界面的不同部分分为子视图或包含其他视图的子视图控制器。</span>
      </div>
    </div>
    <!-- Left -->
    <div class="chat-sender">
      <div><img src="img/mike.png"></div>
      <div>麦克</div>
      <div>
        <div class="chat-left_triangle"></div>
        <span> 你可以用ionRefresher指令实现拉动刷新,并可以用ionInfiniteScroll指令实现无限滚动。</span>
      </div>
    </div>
    <!-- Right -->
    <div class="chat-receiver">
      <div><img src="img/max.png"></div>
      <div>好人·马克思</div>
      <div>
        <div class="chat-right_triangle"></div>
        <span> 最后但并非最不重要的是</span>
      </div>
    </div>
    <!-- Notice/Center -->
    <div class="chat-notice">
      <span>你被群主移除群聊</span>
    </div>
    
    </body>
    </html>

    CSS样式代码 chatbox.css

        body{
          background-color: #ebebeb;
          font-family: -apple-system;
          font-family: "-apple-system", "Helvetica Neue", "Roboto", "Segoe UI", sans-serif;
        }
        .chat-sender{
          clear:both;
          font-size: 80%;
        }
        .chat-sender div:nth-of-type(1){
          float: left;
        }
        .chat-sender div:nth-of-type(2){
          margin: 0 50px 2px 50px;
          padding: 0px;
          color: #848484;
          font-size: 70%;
          text-align: left;
        }
        .chat-sender div:nth-of-type(3){
          background-color: white;
          /*float: left;*/
          margin: 0 50px 10px 50px;
          padding: 10px 10px 10px 10px;
          border-radius:7px;
          text-indent: -12px;
        }
    
        .chat-receiver{
          clear:both;
          font-size: 80%;
        }
        .chat-receiver div:nth-of-type(1){
          float: right;
        }
        .chat-receiver div:nth-of-type(2){
          margin: 0px 50px 2px 50px;
          padding: 0px;
          color: #848484;
          font-size: 70%;
          text-align: right;
        }
        .chat-receiver div:nth-of-type(3){
          /*float:right;*/
          background-color: #b2e281;
          margin: 0px 50px 10px 50px;
          padding: 10px 10px 10px 10px;
          border-radius:7px;
        }
    
        .chat-receiver div:first-child img,
        .chat-sender div:first-child img{
          width: 40px;
          height: 40px;
          /*border-radius: 10%;*/
        }
    
        .chat-left_triangle{
          height: 0px;
          width: 0px;
          border-width: 6px;
          border-style: solid;
          border-color: transparent white transparent transparent;
          position: relative;
          left: -22px;
          top: 3px;
        }
        .chat-right_triangle{
          height: 0px;
          width: 0px;
          border-width: 6px;
          border-style: solid;
          border-color: transparent transparent transparent #b2e281;
          position: relative;
          right:-22px;
          top:3px;
        }
    
        .chat-notice{
          clear: both;
          font-size: 70%;
          color: white;
          text-align: center;
          margin-top: 15px;
          margin-bottom: 15px;
        }
        .chat-notice span{
          background-color: #cecece;
          line-height: 25px;
          border-radius: 5px;
          padding: 5px 10px;
        }
  • 相关阅读:
    过滤字符串
    sql业务分割
    如何用core自动创建model,与数据库连接
    记录日志
    easyui获取选中行上一行的数据
    获取天气插件代码
    粘包问题
    网络编程
    异常处理
    isinstance和issubclass、元类、反射
  • 原文地址:https://www.cnblogs.com/felixnet/p/8019446.html
Copyright © 2011-2022 走看看