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- ...
随机推荐
- Crane (POJ 2991)
//线段树 延迟标签 // #include <bits/stdc++.h> using namespace std; const int maxn=1e4+5; double x[max ...
- 方位话机X2主、备用服务器问题
1.当主.备用服务器有关联时采用开启分组,SIP1.SIP2的方式 2.当主.备用服务器无关联时采用,SIP1主.备用服务器的方式
- php-fpm重启
Ubuntu 18.04服务器 修改php init 文件后(/etc/php/7.2/fpm/php.ini)需要重启php-fpm,方法是: kill -USR2 `cat /run/php/ph ...
- VS2015自定义工具栏,往工具栏上添加按钮
工具--自定义--命令
- [leetcode]272. Closest Binary Search Tree Value II二叉搜索树中最近的值2
Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...
- wpf Binding 小记录
1.后台属性绑定: Grid g = new Grid() { Width = 60, Height = 100 }; g.SetValue(Panel.ZIndexProperty, 10); // ...
- redis get乱码
- spring微服务架构-脑图
spring团队对新一代软件开发的思索.为什么软件开发是spring boot?为什么软件开发是spring cloud?如何使用spring cloud搭建微服务. 清晰脑图查看
- MyBatis updateByExample和updateByExampleSelective的区别
大家都用过mybatis generator来生产数据库的xml文件,但是关于updateByExample和updateByExampleSelective的区别我之前一直分不太清楚. 如果分不清楚 ...
- Java高级应用简笔
1. Annotation 使用范围: package, class, method, field 常用: @Override, @Deprecated, @SuppressWarnings 自定义注 ...