当前位置:首页 > 前端

简易CSS3仿照微信对话框

Z先生10年前 (2016-12-30)前端6159

惯例,直接上代码

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…

HTML5桌面通知开启代码片段

<script type="text/javascript"> function showmsg() {   &n…

字体图标的妙用

什么是字体图标对于前端的小伙伴来说,字体应该是再熟悉不过的东西了,对于文字我们可以通过css指定文字对应的字体,字号大小,颜色。得益于css3,我们还可以在css中引入服务端字体来实现自定义字体。而字…

【原创】api接口模拟器(NodeJS版)

最近遇到一个项目,内网的APP,后端数据和前段开发属于异地,没法直接做接口数据测试。因此用NodeJs简单写了个API模拟器,只要将响应的数据放在对应目录下json.json文件中即可。请求地址全静态…

uniapp无缝滚动核心代码

1、页面代码核心代码<scroll-view class="scoll-warp">     <view&nb…

npm 更新模块

npm update只能按照package.json中标注的版本号进行更新,升级后不会修改package.json中的版本号,需要自己手动修改,比较麻烦。npm-check-updates 升级插件升…

发表评论

访客

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