Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Thomas Bangalter
2:09 PM
I was wondering...
Dog Woofson
1:44 PM
I've forgotten how it felt before
Louis CK
2:09 PM
But we’re probably gonna need a new carpet.
Bo Jackson
2:09 PM
It’s not that bad...
Michael Jordan
2:09 PM
Wasup for the third time like is you blind bitch
Drake
2:09 PM
howdoyoudoaspace
To:
Dog Woofson
Today, 6:48 AM
Hello,
it's me.
I was wondering...
Today, 5:38 PM
Hello, can you hear me?
I'm in California dreaming
... about who we used to be.
Are you serious?
When we were younger and free...
I've forgotten how it felt before
Today, 3:38 AM
Hey human!
Umm... Someone took a shit in the hallway.
... what.
Are you serious?
I mean...
It’s not that bad...
But we’re probably gonna need a new carpet.
Yesterday, 4:20 PM
Hey human!
Umm... Someone took a shit in the hallway.
... what.
Are you serious?
I mean...
It’s not that bad...
Today, 6:28 AM
Wasup
Wasup
Wasup for the third time like is
you blind bitch
Monday, 1:27 PM
So, how's your new phone?
You finally have a smartphone :D
Drake?
Why aren't you answering?
howdoyoudoaspace
css
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600"); @charset "UTF-8"; *, *:before, *:after { box-sizing: border-box; } :root { --white: #fff; --black: #000; --bg: #f8f8f8; --grey: #999; --dark: #1a1a1a; --light: #e6e6e6; --wrapper: 1000px; --blue: #00b0ff; } body { background-color: var(--bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-family: "Source Sans Pro", sans-serif; font-weight: 400; background-image: url("https://images.unsplash.com/photo-1520338801623-6b88fe32bbf2?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=2550&q=80"); background-size: cover; background-repeat: none; } .wrapper { position: relative; left: 50%; width: var(--wrapper); height: 800px; transform: translate(-50%, 0); } .container { position: relative; top: 50%; left: 50%; width: 80%; height: 75%; background-color: var(--white); transform: translate(-50%, -50%); } .container .left { float: left; width: 37.6%; height: 100%; border: 1px solid var(--light); background-color: var(--white); } .container .left .top { position: relative; width: 100%; height: 96px; padding: 29px; } .container .left .top:after { position: absolute; bottom: 0; left: 50%; display: block; width: 80%; height: 1px; content: ""; background-color: var(--light); transform: translate(-50%, 0); } .container .left input { float: left; width: 188px; height: 42px; padding: 0 15px; border: 1px solid var(--light); background-color: #eceff1; border-radius: 21px; font-family: "Source Sans Pro", sans-serif; font-weight: 400; } .container .left input:focus { outline: none; } .container .left a.search { display: block; float: left; width: 42px; height: 42px; margin-left: 10px; border: 1px solid var(--light); background-color: var(--blue); background-image: url("https://www.jq22.com/tp/6376164884785396325614877.png"); background-repeat: no-repeat; background-position: top 12px left 14px; border-radius: 50%; } .container .left .people { margin-left: -1px; border-right: 1px solid var(--light); border-left: 1px solid var(--light); width: calc(100% + 2px); } .container .left .people .person { position: relative; width: 100%; padding: 12px 10% 16px; cursor: pointer; background-color: var(--white); } .container .left .people .person:after { position: absolute; bottom: 0; left: 50%; display: block; width: 80%; height: 1px; content: ""; background-color: var(--light); transform: translate(-50%, 0); } .container .left .people .person img { float: left; width: 40px; height: 40px; margin-right: 12px; border-radius: 50%; -o-object-fit: cover; object-fit: cover; } .container .left .people .person .name { font-size: 14px; line-height: 22px; color: var(--dark); font-family: "Source Sans Pro", sans-serif; font-weight: 600; } .container .left .people .person .time { font-size: 14px; position: absolute; top: 16px; right: 10%; padding: 0 0 5px 5px; color: var(--grey); background-color: var(--white); } .container .left .people .person .preview { font-size: 14px; display: inline-block; overflow: hidden !important; width: 70%; white-space: nowrap; text-overflow: ellipsis; color: var(--grey); } .container .left .people .person.active, .container .left .people .person:hover { margin-top: -1px; margin-left: -1px; padding-top: 13px; border: 0; background-color: var(--blue); width: calc(100% + 2px); padding-left: calc(10% + 1px); } .container .left .people .person.active span, .container .left .people .person:hover span { color: var(--white); background: transparent; } .container .left .people .person.active:after, .container .left .people .person:hover:after { display: none; } .container .right { position: relative; float: left; width: 62.4%; height: 100%; } .container .right .top { width: 100%; height: 47px; padding: 15px 29px; background-color: #eceff1; } .container .right .top span { font-size: 15px; color: var(--grey); } .container .right .top span .name { color: var(--dark); font-family: "Source Sans Pro", sans-serif; font-weight: 600; } .container .right .chat { position: relative; display: none; overflow: hidden; padding: 0 35px 92px; border-width: 1px 1px 1px 0; border-style: solid; border-color: var(--light); height: calc(100% - 48px); justify-content: flex-end; flex-direction: column; } .container .right .chat.active-chat { display: block; display: flex; } .container .right .chat.active-chat .bubble { transition-timing-function: cubic-bezier(0.4, -0.04, 1, 1); } .container .right .chat.active-chat .bubble:nth-of-type(1) { -webkit-animation-duration: 0.15s; animation-duration: 0.15s; } .container .right .chat.active-chat .bubble:nth-of-type(2) { -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .container .right .chat.active-chat .bubble:nth-of-type(3) { -webkit-animation-duration: 0.45s; animation-duration: 0.45s; } .container .right .chat.active-chat .bubble:nth-of-type(4) { -webkit-animation-duration: 0.6s; animation-duration: 0.6s; } .container .right .chat.active-chat .bubble:nth-of-type(5) { -webkit-animation-duration: 0.75s; animation-duration: 0.75s; } .container .right .chat.active-chat .bubble:nth-of-type(6) { -webkit-animation-duration: 0.9s; animation-duration: 0.9s; } .container .right .chat.active-chat .bubble:nth-of-type(7) { -webkit-animation-duration: 1.05s; animation-duration: 1.05s; } .container .right .chat.active-chat .bubble:nth-of-type(8) { -webkit-animation-duration: 1.2s; animation-duration: 1.2s; } .container .right .chat.active-chat .bubble:nth-of-type(9) { -webkit-animation-duration: 1.35s; animation-duration: 1.35s; } .container .right .chat.active-chat .bubble:nth-of-type(10) { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } .container .right .write { position: absolute; bottom: 29px; left: 30px; height: 42px; padding-left: 8px; border: 1px solid var(--light); background-color: #eceff1; width: calc(100% - 58px); border-radius: 5px; } .container .right .write input { font-size: 16px; float: left; width: 347px; height: 40px; padding: 0 10px; color: var(--dark); border: 0; outline: none; background-color: #eceff1; font-family: "Source Sans Pro", sans-serif; font-weight: 400; } .container .right .write .write-link.attach:before { display: inline-block; float: left; width: 20px; height: 42px; content: ""; background-image: url("https://www.jq22.com/tp/6376164890811955399970741.png"); background-repeat: no-repeat; background-position: center; } .container .right .write .write-link.smiley:before { display: inline-block; float: left; width: 20px; height: 42px; content: ""; background-image: url("https://www.jq22.com/tp/6376164894340082397158331.png"); background-repeat: no-repeat; background-position: center; } .container .right .write .write-link.send:before { display: inline-block; float: left; width: 20px; height: 42px; margin-left: 11px; content: ""; background-image: url("https://www.jq22.com/tp/6376164898351016376770672.png"); background-repeat: no-repeat; background-position: center; } .container .right .bubble { font-size: 16px; position: relative; display: inline-block; clear: both; margin-bottom: 8px; padding: 13px 14px; vertical-align: top; border-radius: 5px; } .container .right .bubble:before { position: absolute; top: 19px; display: block; width: 8px; height: 6px; content: "?"; transform: rotate(29deg) skew(-35deg); } .container .right .bubble.you { float: left; color: var(--white); background-color: var(--blue); align-self: flex-start; -webkit-animation-name: slideFromLeft; animation-name: slideFromLeft; } .container .right .bubble.you:before { left: -3px; background-color: var(--blue); } .container .right .bubble.me { float: right; color: var(--dark); background-color: #eceff1; align-self: flex-end; -webkit-animation-name: slideFromRight; animation-name: slideFromRight; } .container .right .bubble.me:before { right: -3px; background-color: #eceff1; } .container .right .conversation-start { position: relative; width: 100%; margin-bottom: 27px; text-align: center; } .container .right .conversation-start span { font-size: 14px; display: inline-block; color: var(--grey); } .container .right .conversation-start span:before, .container .right .conversation-start span:after { position: absolute; top: 10px; display: inline-block; width: 30%; height: 1px; content: ""; background-color: var(--light); } .container .right .conversation-start span:before { left: 0; } .container .right .conversation-start span:after { right: 0; } @keyframes slideFromLeft { 0% { margin-left: -200px; opacity: 0; } 100% { margin-left: 0; opacity: 1; } } @-webkit-keyframes slideFromLeft { 0% { margin-left: -200px; opacity: 0; } 100% { margin-left: 0; opacity: 1; } } @keyframes slideFromRight { 0% { margin-right: -200px; opacity: 0; } 100% { margin-right: 0; opacity: 1; } } @-webkit-keyframes slideFromRight { 0% { margin-right: -200px; opacity: 0; } 100% { margin-right: 0; opacity: 1; } }
JavaScript
document.querySelector('.chat[data-chat=person2]').classList.add('active-chat') document.querySelector('.person[data-chat=person2]').classList.add('active') let friends = { list: document.querySelector('ul.people'), all: document.querySelectorAll('.left .person'), name: '' }, chat = { container: document.querySelector('.container .right'), current: null, person: null, name: document.querySelector('.container .right .top .name') } friends.all.forEach(f => { f.addEventListener('mousedown', () => { f.classList.contains('active') || setAciveChat(f) }) }); function setAciveChat(f) { friends.list.querySelector('.active').classList.remove('active') f.classList.add('active') chat.current = chat.container.querySelector('.active-chat') chat.person = f.getAttribute('data-chat') chat.current.classList.remove('active-chat') chat.container.querySelector('[data-chat="' + chat.person + '"]').classList.add('active-chat') friends.name = f.querySelector('.name').innerText chat.name.innerHTML = friends.name }
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>html5聊天UI-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号