纯CSS3实现的标签效果

1.效果分析

纯CSS3实现的标签效果,如图1所示,看看demo。该标签主要有三个部分组成,左侧的三角形、右侧的圆角矩形和文字前面的小圆点。重点在左侧三角形和文字前面圆点的实现。

图1.纯CSS3实现的标签效果

2.技术难点

三角形利用宽和高为零的元素的边框实现。将边框设置为12px solid transparent,然后将右侧边框颜色设置为#0089e0即可。

border:12px solid transparent;
border-right-color:#0089e0;

小圆点的实现很简单,做一个小矩形,设置圆角边框即可,再加点阴影效果。

width:4px;
height:4px;
background-color:#fff;
border-radius:4px;
box-shadow:0px 0px 0px 1px rgba(0,0,0,.3);

分别用::before和::after来实现三角形和小圆点。

3.实现步骤

a.html结构

利用无序列表来实现标签,代码如下。

<div class="post">
	<p>王海庆,男,浙江邮电职业技术学院管理与信息系软件技术专业教师,从事网页前端开发、多媒体方面课程的教学。希望可以通过本博客总结、反思自己的进步,构建一个学习交流、资源分享的平台。快乐编程,快乐前端,前端开发whqet。</p>
	<p>王海庆,男,浙江邮电职业技术学院管理与信息系软件技术专业教师,从事网页前端开发、多媒体方面课程的教学。希望可以通过本博客总结、反思自己的进步,构建一个学习交流、资源分享的平台。快乐编程,快乐前端,前端开发whqet。</p>
	<ul class="tags">
		<li><a href="#">前端</a></li>
		<li><a href="#">快乐编程</a></li>
	</ul>
</div>

b.文章类post和段落p的实现

.post{
	width:400px;
	padding:10px 5px;
	position:relative;
	border:1px dashed #aaa;
	border-radius:5px;
}
.post p{
	font-size:14px;
	text-indent:2em;
	line-height:1.5em;
	margin-bottom:1em;
}

c.标签ul和li的实现

.tags{
	position:absolute;
	bottom:-12px;
	right:24px;
}
.tags li{
	list-style-type:none;
	float:left;
	margin-left:20px;
}

d.连接a的实现,右侧的圆角实现,hover效果实现

.tags li a{
	display:block;
	text-decoration:none;
	font-size:12px;
	color:#fff;
	background-color:#0089e0;
	height:24px;
	line-height:24px;
	padding:0 10px 0 12px;
	position:relative;
	border-radius:0 5px 5px 0;
}
.tags li a:hover{
	background-color:#666;
}

e.左侧三角形的实现

.tags li a:before{
	content:" ";
	width:0px;
	height:0px;
	position:absolute;
	top:0;
	left:-24px;
	border:12px solid transparent;
	border-right-color:#0089e0;
}
.tags li a:hover:before{
	border-color:transparent #666 transparent transparent;
}

f.小圆点的实现

.tags li a:after{
	content:" ";
	width:4px;
	height:4px;
	background-color:#fff;
	border-radius:4px;
	box-shadow:0px 0px 0px 1px rgba(0,0,0,.3);
	position:absolute;
	top:10px;
	left:3px;
}

完工!

感谢cssglobe.com提供灵感,前端开发whqet制作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值