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- ...
随机推荐
- Python学习笔记4基本数据类型
start:16:00 1.Python基本数据类型 (1)数字类型及其操作 整数类型 浮点数类型 浮点数间运算存在不确定尾数,不是bug 复数类型 数值运算操作符 (2)数值运算函数 . 2. ...
- 【Thread】CountdownEvent任务并行[z]
System.Threading.CountdownEvent 是一个同步基元,它在收到一定次数的信号之后,将会解除对其等待线程的锁定. CountdownEvent 专门用于以下情况:您必须使用 ...
- web自动化上传附件 2
当我们进行某一项web自动化脚本编写时,有上传附件操作,点击附件直接打开了windows窗口,而有的点击添加附件打开一个小窗体,再点击‘浏览’才打开windows窗口, 中间多了这么一个小窗体的操作, ...
- python基础之Day17
一.包 1.包 含有--init--.py的文件夹 是模块的一种形式 本质是一个文件夹(用来存放文件,包内所有的文件都是用来被导入的) import 包 包.名字 往包的init里加名字 导 ...
- odoo8资料
官网: https://www.odoo.com/documentation/8.0/ 官方文档: http://odoo-master.readthedocs.io/en/8.0/howtos/we ...
- Linux 下 Samba 服务器搭建
初学,分享 环境和条件--- 虚拟机:VMware虚拟机 系统:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:0 ...
- bower简明入门教程
什么是bower: Bower是一个客户端技术的软件包管理器,它可用于搜索.安装和卸载如JavaScript.HTML.CSS之类的网络资源.其他一些建立在Bower基础之上的开发工具,如YeoMan ...
- XBee® ZigBee 模块使用方法
Digi的ZigBee模块简称S2,根据芯片版本的不同历史上分别有S2,S2B,S2C等,每次硬件平台升级,都会引入一个新的尾缀字母.历史版本中S2和S2B已经停产并被S2C替代.当前S2C是主流平台 ...
- java反射获取Object的属性和值
在看反射顺便做个笔记,目前知道的反射的Object都是要有对象的也就是实体Bean. import java.lang.reflect.Field; import java.util.ArrayLis ...
- 别人的Linux私房菜(21)基础系统设置与备份策略
网络设置,手动设置IP,DHCP自动获取. 以太网协议开发出来的网卡ethN,N为数字. CentOS7对网卡命名的规则:eno代表由主板BIOS内建立的网卡,ens1由主板BIOS内建的PCI-E界 ...