html5点击圆形展开,HTML5可交互的圆形进度条特效

这是一款效果非常炫酷的HTML5可交互的圆形进度条特效。这个圆形进度条由32个圆角矩形组成,用户可以点击每一个圆角矩形将进度条设置到相应的刻度上。它使用js来制作交互动画效果,并带有鼠标滑过时的效果,非常的酷。

制作方法

HTML结构

组成这个圆形进度条的32个圆角矩形每一个实际上是input.radio和的组合。div.barPie__value用于显示当前进度的百分比值。包裹容器中的data-to-value用于圆形进度条的初始值。

0

......

CSS样式

整个圆形进度条设置了固定的宽度和高度,并设置居中显示。

.barPie--radio {

margin: 20px;

width: 400px;

height: 400px;

text-align: center;

font: 700 50px 'Open Sans Condensed', sans-serif;

position: absolute;

top: 0;

left: 0;

bottom: 0;

right: 0;

margin: auto;

}

并使用perspective属性来制作透视效果。

.barPie {

-webkit-perspective: 1000px;

perspective: 1000px;

}

所有的圆角矩形都是由元素来制作,通过将它们进行不同角度的旋转,组成一个圆形。

.barPie__ring__item {

position: absolute;

width: 34px;

height: 50%;

top: 0;

left: 50%;

margin-left: -17px;

-webkit-transform-origin: 50% 100%;

-ms-transform-origin: 50% 100%;

transform-origin: 50% 100%;

-webkit-transition: .1s;

transition: .1s;

}

.barPie__ring__item:nth-of-type(1) {

-webkit-transform: rotate(11.25deg);

-ms-transform: rotate(11.25deg);

transform: rotate(11.25deg);

}

.barPie__ring__item:nth-of-type(1)::before {

-webkit-transition-delay: 12ms;

transition-delay: 12ms;

}

...

元素的:before伪元素用于制作圆角矩形的槽,它们的颜色被设置为0.15透明度的白色。并在鼠标滑过时设置它们的透明度为0.7,它的兄弟节点的透明度为0.4。

.barPie__ring__item::before {

content: '';

display: block;

width: 50%;

height: 30%;

border-radius: 10px;

background: rgba(0, 0, 0, 0.15);

box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 0 4px rgba(0, 0, 0, 0.33) inset;

-webkit-transition: .3s;

transition: .3s;

}

.barPie__ring__item:hover::before {

opacity: .7;

}

.barPie__ring__item:hover::before,

.barPie__ring__item:hover ~ .barPie__ring__item::before {

background: rgba(255, 255, 255, 0.4);

-webkit-transition: 0s !important;

transition: 0s !important;

}

处于checked状态的圆角矩形设置为80%透明度的白色。

.barPie__ring :checked ~ .barPie__ring__item::before {

background: rgba(255, 255, 255, 0.8);

box-shadow: 0 0 4px rgba(255, 255, 255, 0.5);

-webkit-transition: 0s;

transition: 0s;

}

具体的javascript实现代码请参考下载文件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值