chat.css
*, *:before, *:after {
box-sizing: border-box;
}
body, html {
height: 100%;
overflow: hidden;
}
body, ul {
margin: 0;
padding: 0;
}
body {
color: #4d4d4d;
font: 14px/1.4em 'Helvetica Neue', Helvetica, 'Microsoft Yahei', Arial, sans-serif;
background: #f5f5f5 url('images/bg.jpg') no-repeat center;
background-size: cover;
font-smoothing: antialiased;
}
ul {
list-style: none;
}
#chat {
margin: 20px auto;
width: 800px;
height: 600px;
}
#chat {
overflow:hidden;
border-radius:3px
}
#chat .main, #chat .sidebar {
height:100%
}
#chat .sidebar {
float:left;
width:200px;
color:#f4f4f4;
background-color:#2e3238
}
#chat .main {
position:relative;
overflow:hidden;
background-color:#eee
}
#chat .m-text {
position:absolute;
width:100%;
bottom:-30px;
left:0
}
#chat .m-message {
height:calc(100% - 10pc)
}
.m-card {
padding:9pt;
border-bottom:1px solid #24272c
}
.m-card footer {
margin-top:10px
}
.m-card .avatar, .m-card .name {
vertical-align:middle
}
.m-card .avatar {
border-radius:2px
}
.m-card .name {
display:inline-block;
margin:0 0 0 15px;
font-size:1pc;
overflow: hidden;
}
.m-card .search {
padding:0 10px;
width:100%;
font-size:9pt;
color:#fff;
height:30px;
line-height:30px;
border:1px solid #3a3a3a;
border-radius:4px;
outline:0;
background-color:#26292e
}
.m-list li {
padding:9pt 15px;
border-bottom:1px solid #292c33;
cursor:pointer;
-webkit-transition:background-color .1s;
transition:background-color .1s
}
.m-list li:hover {
background-color:hsla(0, 0%, 100%, .03)
}
.m-list li.active {
background-color:hsla(0, 0%, 100%, .1)
}
.m-list .avatar, .m-list .name {
vertical-align:middle
}
.m-list .avatar {
border-radius:2px
}
.m-list .name {
display:inline-block;
margin:0 0 0 15px;
overflow: hidden;
}
.m-text {
height:10pc;
border-top:1px solid #ddd
}
.m-text textarea {
padding:10px;
height:100%;
width:100%;
border:none;
outline:0;
font-family:Micrsofot Yahei;
resize:none
}
.m-message {
padding:10px 15px;
overflow-y:scroll
}
.m-message li {
margin-bottom:15px
}
.m-message .time {
margin:7px 0;
text-align:center
}
.m-message .time>span {
display:inline-block;
padding:0 18px;
font-size:9pt;
color:#fff;
border-radius:2px;
background-color:#dcdcdc
}
.m-message .avatar {
float:left;
margin:10px 10px 0 0;
border-radius:3px
}
.m-message .text {
display:inline-block;
position:relative;
padding:0 10px;
max-width:calc(100% - 40px);
min-height:30px;
line-height:2.5;
font-size:9pt;
text-align:left;
word-break:break-all;
background-color:#fafafa;
border-radius:4px
}
.m-message .text:before {
content:" ";
position:absolute;
top:4px;
right:100%;
border:6px solid transparent;
border-right-color:#fafafa
}
.m-message .self {
text-align:right
}
.m-message .self .avatar {
float:right;
margin:10px 0 0 10px
}
.m-message .self .text {
background-color:#b2e281
}
.m-message .self .text:before {
right:inherit;
left:100%;
border-right-color:transparent;
border-left-color:#b2e281
}
.m-message .nick{
font-size:12px;
color:#C5C5AD;
}
.users{
height: 30px;
width: 100%;
position: absolute;
z-index: 9;
background: #fff;
padding: 5px;
}
chat.css的更多相关文章
- chat.php
<!DOCTYPE html><html> <meta charset="UTF-8"> <title>web chat</t ...
- 实例演示 kino.razor (前端 Javascript 模板工具,Razor 风格)的使用
前言 对于习惯了 ASP.NET MVC Razor 模板引擎的人来说,比如我,一直在寻找前端 Javascript 端的 Razor 模板工具.这之前,我也了解到很多Javascript 端的模板工 ...
- python 全栈开发,Day129(玩具开机提示语,为多个玩具发送点播,聊天界面,app录音,app与服务器端文件传输,简单的对话)
一.玩具开机提示语 先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.2.zi ...
- node基于express的socket.io
前一段事件,我一个同学给他们公司用融云搭建了一套web及时通信系统,然后之前我的公司也用过环云来实现web及时通信,本人对web及时通信还是非常感兴趣的.私下读了融云和环信的开发文档,然后发现如果注册 ...
- JSP | 基础 | 在同一表单中提交两个不同的action
通过与跟JS配合使用实现需求 <head> <title>Chat Room</title> <script type="text/javascri ...
- jQuery实时聊天jquery-chat
jquery-chat是基于jQuery UI + Node.js + Socket.IO 实现100%纯JavaScript实时聊天(客户端和服务器都是JS),实现了facebook / Gmail ...
- Swoole 实现在线聊天
Swoole 跟 thinkphp5 结合开发 WebSocket 在线聊天通讯系统 ThinkPHP 使用 Swoole 需要安装 think-swoole Composer 包,前提系统已经安装 ...
- 中级前端必备知识点(2.5w+月薪)进阶 (分享知乎 : 平酱的填坑札记 关注专栏 用户:安大虎)
前端已经不再是5年前刚开始火爆时候的那种html+css+js+jquery的趋势了,现在需要你完全了解前端开发的同时,还要具备将上线.持续化.闭环.自动化.语义化.封装......等概念熟练运用到工 ...
- Swoole跟thinkphp5结合开发WebSocket在线聊天通讯系统
ThinkPHP使用Swoole需要安装 think-swoole Composer包,前提系统已经安装好了Swoole PECL 拓展* tp5的项目根目录下执行composer命令安装think- ...
随机推荐
- PowerScript语句
赋值语句 赋值语句可以把一个表达式的结果或者变量和常量的值,赋给一个变量或者对象的属性或成员变量.赋值语句的格式是: variablename = expression 其中variablename代 ...
- Sublime Text 执行后只有运行时间,没有执行结果!解决方法!
问题:build完python代码,只输出:[Finished in 0.2s] 分析:操作回忆:开始是可以看到运行结果的,后来在Tools>>Build with 选择了"Sy ...
- CentOS7 常用设置
安装配置 0.Centos7 优盘U盘安装以及解决安装时引导错误 1.CentOS7开启网卡,设置开机启用网卡 2.CentOS7 修改静态IP地址 3.CentOS7 下使用root免密码输入自动登 ...
- Intel 处理器架构演进 转
Intel 处理器架构演进 Posted on 2018-02-13 | Edited on 2018-09-23 | In Computer Architecture | Comments: ...
- matplotlib 初次编译无法运行
终端 解决方案:vim ~/.matplotlib/matplotlibrc 输入backend: TkAgg 保存
- java 判断null和空
判断null和空 org.apache.commons.lang3 if(StringUtils.isBlank(valuationMeasureUnitName)){ }
- Acceptance Test - Business Readable Acceptance Test using - Specflow
Agenda Benefits Living document Frameworks specflow supports How to integrate it in development cycl ...
- 异步async与await的简单探究
在学习.net core的过程中,到处见到异步的使用,Task.async.await随处可见.有点疑惑,就去了解了下这个过程是怎样的. 下面是一段代码,去看看是怎么执行的吧. 一.看看异步执行的方式 ...
- vue,react,angular
一.Vue.js: 其实Vue.js不是一个框架,因为它只聚焦视图层,是一个构建数据驱动的Web界面的库. Vue.js通过简单的API(应用程序编程接口)提供高效的数据绑定和灵活的组 ...
- win 10 的wordcloud的安装
这两天为了安装wordcloud库可谓是“一把辛酸”,各种出错 jieba什么就不说了,安装和使用都很简单只需要一句代码就可以实现了,而wordcloud在安装之前,本以为也像jieba那样的简单,但 ...