HTML5实现微信聊天气泡效果

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

HTML5实现微信聊天气泡效果_第1张图片

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>


<div class="chat-sender">
  <div><img src="img/ben.png">div>
  <div>阿奔 Bendiv>
  <div>
    <div class="chat-left_triangle">div>
    <span> 苹果增加三款配件的颜色选项span>
  div>
div>

<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>

<div class="chat-sender">
  <div><img src="img/adam.jpg">div>
  <div>阿达姆 Adamdiv>
  <div>
    <div class="chat-left_triangle">div>
    <span> 一款接近原生的Html5移动App开发框架span>
  div>
div>

<div class="chat-notice">
  <span>2017年12月10日 23:13span>
div>

<div class="chat-sender">
  <div><img src="img/perry.png"/>div>
  <div>佩里 Perrydiv>
  <div>
    <div class="chat-left_triangle">div>
    <span> Ionic遵循视图控制模式,通俗的理解和 Cocoa 触摸框架相似。在视图控制模式中,我们将界面的不同部分分为子视图或包含其他视图的子视图控制器。span>
  div>
div>

<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>

<div class="chat-receiver">
  <div><img src="img/max.png">div>
  <div>好人·马克思div>
  <div>
    <div class="chat-right_triangle">div>
    <span> 最后但并非最不重要的是span>
  div>
div>

<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;
    }

 

转载于:https://www.cnblogs.com/felixnet/p/8019446.html

你可能感兴趣的:(ui,前端)