1.上页面
2.造型就上面那个样,基本的css元素装饰
.message-history { border-radius: 5px; border: 2px solid #EEE; min-width: 600px; margin: auto; padding: 10px; font-size: 12px; } .message-time { height: 20px; line-height: 18px; } .message-receive .message-time { margin-left: 60px; text-align: left; } .message-reply .message-time { margin-right: 60px; text-align: right; } .message-info { position: relative; overflow: hidden; } .message-content-box { border-radius: 5px; position: relative; padding: 15px; word-break: break-word; } .message-reply .message-content-box { background: #b8db29; color: #333; margin-right: 60px; float: right; } .message-receive .message-content-box { background: #EEE; color: #333; margin-left: 60px; float: left; } .message-content-box .arrow { width: 0; height: 0; font-size: 0; border-width: 10px; border-style: solid; position: absolute; top: 10px; } .message-reply .message-content-box .arrow { border-color: transparent transparent transparent #b8db29; right: -20px; } .message-receive .message-content-box .arrow { border-color: transparent #EEE transparent transparent; left: -20px; } .item-pics-box { float: left; margin-right: 10px; } .item-pic { width: 40px; height: 40px; } .message-content { overflow: hidden; } .user-avatar { width: 40px; height: 40px; border-radius: 25px; position: absolute; top: 0; } .message-receive .user-avatar { left: 0; } .message-reply .user-avatar { right: 0; } .send-message { position: relative; margin-top: 7px; height: 40px; } .send-message .send-msg-btn { float: right; width: 75px; line-height: 38px; height: 38px; margin-left: 5px; font-size: 14px; background-color: #FDFDFD; border: 1px solid #D7D7D7; text-align: center; } .send-message .message-input-box { border-radius: 3px; background: url("./images/write.png"); background-size: 11px 11px; background-repeat: no-repeat; background-position: 6px 14px; padding: 0 0 0 25px; background-color: #F9F9F9; border: 1px solid #D7D7D7; overflow: hidden; } .send-message input.message-input { margin: 0; padding: 8px 0; font-size: 16px; width: 100%; height: 100%; border: none; }
3. 简单的js辅助send,crtl+enter或者submit
var sendMsg = function() { var tempContent = '', contentElement = jQuery('input[name="content"]'), content = jQuery.trim(contentElement.val()), avatar = './images/user_a.jpg'; if(content) { tempContent = '<div class="message-reply"><div class="message-time">' + new Date().toLocaleTimeString() + '</div>' + '<div class="message-info">' + '<div class="user-info"><img class="user-avatar" src="' + avatar + '"></div>' + '<div class="message-content-box"><div class="arrow"></div><div class="item-pics-box"></div>' + '<div class="message-content">' + content + '</div></div></div></div>'; jQuery('.message-history').append(tempContent); } contentElement.val(''); }; var initSendMsg = function() { // normal submit jQuery('.send-msg-btn').on('click', function() { sendMsg(); }); // Ctrl+Enter submit jQuery('input[name="content"]').on('keydown', function(e){ e = e ? e : window.event; if(e.ctrlKey && 13 == e.keyCode){ sendMsg(); } }); }; initSendMsg();
4. 基本的html架子
<html> <head> <link rel="stylesheet" href="./message.css"> <script src="./jquery.min.js"></script> </head> <body> <div class="message-history"> <div class="message-reply"> <div class="message-time">2014-2-21 9:32:57</div> <div class="message-info"> <div class="user-info"> <img class="user-avatar" src="./images/user_a.jpg"> </div> <div class="message-content-box"> <div class="arrow"></div> <div class="item-pics-box"> <a class="ui-link" href="#"> <img class="item-pic" src="./images/item_1.jpg"> </a> </div> <div class="message-content">这个东西不错呀!</div> </div> </div> </div> <div class="message-receive"> <div class="message-time">2014-2-21 9:32:57</div> <div class="message-info"> <div class="user-info"> <img class="user-avatar" src="./images/user_b.gif"> </div> <div class="message-content-box"> <div class="arrow"></div> <div class="item-pics-box"> <a class="ui-link" href="#"> <img class="item-pic" src="./images/item_1.jpg"> </a> </div> <div class="message-content">Good football</div> </div> </div> </div> </div> <div class="send-message"> <span class="send-msg-btn">发送</span> <div class="message-input-box"> <input name="content" type="text" class="message-input" placeholder="输入私信内容"> </div> </div> <script src="./message.js"></script> </body> </html>
5.上源码
见附件
相关推荐
1.文本对话方式,文本对话长度为13个字,超过13个字就会越出气泡,请自己手动换行就会有第二行内容,。2.红包对话方式,。3.转账对话方式,。4.语音对话方式,语音对话设计了好几种长度,根据语音的长短展现不同的...
高仿微信、QQ聊天的气泡聊天框。基于列表框(ListBox)控件,自己计算每个项目位置,自绘项目内容。易语言模块+模块源码+调用例程。 详细介绍:http://blog.csdn.net/cometnet/article/details/52606820
气泡聊天效果图,有需要的朋友拿去吧,即时通讯界面开发的时候有用
仿照微信气泡聊天效果,android平台实现
仿 IPhoneQQ 气 泡 聊 天 样 式 DEMO
Android 仿iPhoneQQ气泡聊天样式源码.rar
气泡聊天,自己重绘界面,根据此链接,在满足自己的需求上,进行适当的修改, https://blog.csdn.net/u014597198/article/details/81505832 不足之处,可能是对英文的分割还不是很好,对中文还是可以的
一直想开发一款聊天应用,但是苦于聊天气泡框的实现,拖了好几年,最近心血来潮,觉得再次研究一番,又是从qt+webivew实现,到网上案例走了一遍,感觉都不理想,于是想着自己重头实现以一下,花了两天,终于做出来了...
仿iPhoneQQ气泡聊天样式。
仿iPhoneQQ气泡聊天样式源码.zip
资源介绍:模块说明:高仿微信、QQ聊天的气泡聊天框模块发布:模块 模块源码 调用例程实现方法:基于列表框(ListBox)控件,自己计算每个项目位置,自绘项目内容。注意事项:列表框创建时需要加入LBS_...
聊天气泡
Qt实现微信气泡聊天效果,这里只是做了一个Demo,可以发送消息,消息撤回使用QWebChannl HTML与Qt通信,取出撤回的消息序号,从而撤回消息。https://blog.csdn.net/qq_25532071/article/details/88427192文章中有效果...
炫彩界面库聊天气泡, QQ聊天气泡, 富文本框, 图文混合. C++代码实现
这个是模仿QQ聊天框里的气泡聊天控件源码。---希望可以帮助同类的c#学习者
Android仿iPhoneQQ气泡聊天样式源码.zip