军迷夜话 發表於 2020-9-22 02:56:00

HTML5实现微信聊天气泡效果

<p>最近做一个HybridApp,前端有一个群聊的功能,于是就想模仿微信的聊天界面,先看效果图:</p>
<p><img src="https://images2017.cnblogs.com/blog/130348/201712/130348-20171211004516849-2109625395.png"></p>
<p>HTML代码:</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;title&gt;HTML5实现微信聊天气泡效果&lt;/title&gt;
&lt;meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"&gt;
&lt;link rel="stylesheet" href="chatbox.css"&gt;
&lt;/head&gt;
&lt;body&gt;

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

&lt;/body&gt;
&lt;/html&gt;</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
</div>
<p>CSS样式代码 chatbox.css</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
<pre>    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;
    }</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
</div>
<p>&nbsp;摘自:https://www.cnblogs.com/felixnet/p/8019446.html</p>

</div>
<div id="MySignature" role="contentinfo">
    版权木有,侵权不究,欢迎转载<br><br>
来源:https://www.cnblogs.com/xiaohi/p/13709742.html
頁: [1]
查看完整版本: HTML5实现微信聊天气泡效果