CSS3技巧32:CSS3制作经典进度条

放假了,不想到处走亲戚。

窝在家里 coding 玩儿~

看到一个很不错的进度条效果,很简单,但是很好看,就写写练练手。

HTML 结构:

<!-- 进度条   -->
	<div class="jdt">
		<div class="jd_title">HTML</div>
		<!-- 进度 -->
		<div class="jdbar">
			<div class="jdper" per="50%" style="max-width: 50%; "></div>
		</div>
		<!-- 进度 end -->

		<div class="jd_title">CSS</div>
		<!-- 进度 -->
		<div class="jdbar">
			<div class="jdper" per="40%" style="max-width: 40%; "></div>
		</div>
		<!-- 进度 end -->

		<div class="jd_title">JavaScript</div>
		<!-- 进度 -->
		<div class="jdbar">
			<div class="jdper" per="60%" style="max-width: 60%; "></div>
		</div>
		<!-- 进度 end -->

	</div>
	<!-- 进度条   end -->

 CSS:

.jdt {
	margin-left: 100px;
}

.jd_title {
	margin-top: 20px;
	margin-bottom: 20px;
}

.jdbar {
	background: rgb(227, 227, 227);
	height: 10px;
	width: 300px;
}

.jdper {
	height: 10px;
	background: #f30;
	max-width: 80%;
	width: 100%;
	position: relative;
	animation: aniBar 1s;
}

.jdper::before {
	position: absolute;
	content: attr(per);
	background: #f30;
	padding: 2px 5px;
	border-radius: 2px;
	font-size: 12px;
	right: 0;
	top: -30px;
	color: #fff;
	transform: translateX(50%);
}

.jdper::after {
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	background: #f30;
	position: absolute;
	right: 0;
	top: -18px;
	z-index: -1;
	border-radius: 2px;
	transform: translateX(50%) rotate(45deg);
}

@keyframes aniBar {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

用到的关键样式:

1. 绝对定位和相对定位:实现数字定位。

2. transform: translate( 百分比 );  这是相对标签本身自己宽度的百分比,做位移。

3. 伪标签的 content:attr( ) 可以获取标签属性的内容作为伪标签的内容。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值