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

简易CSS3仿照微信对话框

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

惯例,直接上代码

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...

npm如何使用国内镜像源?

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

微信html链接小程序原始写法(暂未测试)

微信html链接小程序原始写法(暂未测试)

无意间发现了微信的这个链接,这几天比较忙,暂时还没有测试,等空了再测试一下。<a class="weapp_text_link"   &nbs...

写给即将寿终正寝的Flash,即html5 Flash解决方案

写给即将寿终正寝的Flash,即html5 Flash解决方案

Adobe的Flash将于2020年12月31日正式终止。Adobe公司最近宣布,将会正式宣布停止对Flash的支持,这也变相宣布了Flash的死亡,Flash Player将于2020年12月31日...

记vue/uniapp本地调试以及部署代理服务器设置哪些事

接触vue差不多也一年有余,很多概念性的东西都不懂,逐步已经习惯了npm来安装,之前其他同事做的一些项目,npm自己拿过来也踩了很多坑,比如换个环境再npm就跑不起来了等等之类的,遇到最多的就是scs...

巨坑:API在某些情况下POST请求会自动变成GET的解决方案

这个问题我已经不是第一次遇到了。之前没有收集整理,一般情况下,出现这种情况,都是有2次请求,一次301,在一次200,然后post就变成了get。一般出现这个情况,API接口和?之间不是反斜杠,导致3...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。