当前位置:首页 > 前端 > 正文内容

简易CSS3仿照微信对话框

Z先生9年前 (2016-12-30)前端5877

惯例,直接上代码

HTML代码:

<div class="say-box say-left">
	<div class="say-avatar">
		<img src="头像" />
	</div>
	<div class="say-body">
		<div class="say-userinfo">
			<span class="say-time">2016-12-33</span> 头像在左
		</div>
		<div class="say-content">
			<div class="say-arrow"></div>
			<div class="say-message">这就是我说的内容啦</div>
		</div>
	</div>
</div>
<div class="say-box say-right">
	<div class="say-avatar">
		<img src="头像" />
	</div>
	<div class="say-body">
		<div class="say-userinfo">
			<span class="say-time">2016-12-33</span> 头像在右
		</div>
		<div class="say-content">
			<div class="say-arrow"></div>
			<div class="say-message">这就是我说的内容啦</div>
		</div>
	</div>
</div>

CSS代码:

/*对话框*/
.say-box {
	padding: 10px 20px;
}

.say-box .say-avatar {
	display: block;
	width: 60px;
	height: 60px;
}

.say-box .say-avatar img {
	width: 60px;
	height: 60px;
	border-radius: 3px;
}

.say-box .say-body .say-userinfo {
	color: #555;
}

.say-box .say-body .say-userinfo .say-time {
	color: #777;
}

.say-box .say-body .say-content {
	position: relative;
	width: 100%;
	height: auto;
	border-radius: 5px;
}

.say-box .say-body .say-content .say-message {
	padding: 10px;
}

.say-box .say-body .say-content .say-arrow {
	position: absolute;
	top: 5px;
	width: 0;
	height: 0;
	font-size: 0;
	border: solid 8px;
}

/*左侧样式,颜色*/
.say-box.say-left .say-avatar {
	float: left;
}

.say-box.say-left .say-body {
	margin-left: 80px;
}

.say-box.say-left .say-body .say-userinfo {
	text-align: left;
}

.say-box.say-left .say-body .say-userinfo .say-time {
	float: right;
}

.say-box.say-left .say-body .say-content {
	background: #f8f8f8;
}

.say-box.say-left .say-body .say-arrow {
	left: -16px;
	border-color: rgba(0, 0, 0, 0) #f8f8f8 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}

/*右侧样式颜色*/
.say-box.say-right .say-avatar {
	float: right;
}

.say-box.say-right .say-body {
	margin-right: 80px;
}

.say-box.say-right .say-body .say-userinfo {
	text-align: right;
}

.say-box.say-right .say-body .say-userinfo .say-time {
	float: left;
}

.say-box.say-right .say-body .say-content {
	background: #1AAD19;
	color: #fff;
}

.say-box.say-right .say-body .say-arrow {
	right: -16px;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #1AAD19;
}


分享给朋友:

相关文章

小程序二维码传参处理&UNIAPP H5传参兼容处理

首先小程序生成二维码,我这里调用的接口是:getUnlimited,我传递的参数是:invite=10001接着就是小程序中处理,如果直接扫二维码在App.vue的onLaunch中,使用decode...

AJAX实现跨域的三种方法

三种方法:代理、JSONP、XHR2(XMLHttpRequest Level 2)一、代理:这种方式是通过服务器获取其他域名下的内容,然后再把获得内容返回到前端,这样因为在同一个域名下,所以就不会出...

去掉H5中number输入框的上下箭头

方法一:CSS样式处理input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{    &...

Ckeditor踩坑记

说实话,用了很多富文本编辑器,最精益求精的还是Ckeditor! 曾经一度依赖于百度的Ueditor,因为其简单,方便;特别是在图片上传、H5上传、远程文件下载支持这三个方面,表现尤为突出!...

npm如何使用国内镜像源?

通过命令配置1. 命令淘宝源npm config set registry https://registry.npmmirror.com腾讯源npm ...

VUE打包时from UglifyJs Unexpected token: punc (()错误解决方案

归其原因是因为缺少ES2015的语法解析。因此进行如下2步操作即可解决问题:1、安装babel-preset-es2015npm install babel-preset-es20...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。
请先 登录 再评论,若不是会员请先 注册