css进度条(css进度条怎么做)
如何用纯CSS编写一个实用的进度条
1、写一个样式为.containe的div用来包含进度条,其次是用样式为.title的div来包裹标题。 ? 2、接下来,添加样式为.bar的di来包含填充和未填充的进度条样式。最后,在.bar里添加样式为.bar-unfill 和.bar-fill的span标签。 Plain ? 3.简单的进度条的CSS代码.container?类里将?width?定义为?30%?使进度条能够自适应。放一些简单的?border-radius?之类的属性在我们的?.title?类里以修改顶部和底部的左边的边框弧度,创建一个简单明了的平板式设计。 .container?{ width:30%; margin:0?auto } .title?{ background:#545965; color:#fff; padding:15px; float:left; position:relative; -webkit-border-top-left-radius:5px; -webkit-border-bottom-left-radius:5px; -moz-border-radius-topleft:5px; -moz-border-radius-bottomleft:5px; border-top-left-radius:5px; border-bottom-left-radius:5px } 4.首先建一个白色的背景 .bar-unfill?{height:15px;display:block;background:#fff;width:100%;border-radius:8px} 5.定义进度条的样式,先令他的宽度为?100%?,因为这也会应用于定义和未定义的部分。所以在我们的?.bar-fill?的类里,令他的宽度为?0?作为起始的宽度,添加CSS3的?transition?属性使动画效果更加流畅,最后,我们将添加CSS3里的?animation?属性,定义动画的名字,和?duration?和?animation-iteration-count?属性。 .bar-fill?{ height:15px; display:block; background:#45c9a5; width:0; border-radius:8px; -webkit-transition:width?.8s?ease; -moz-transition:width?.8s?ease; transition:width?.8s?ease; -webkit-animation:progressbar?7s?infinite; animation:progressbar?7s?infinite } 6.使用CSS3里的?@keyframe?规则来设置宽度从?0?变化到?100%?。你也能定制你自己喜欢的变化。 @-webkit-keyframes?progressbar?{? from?{ width:0 } to?{ width:100% } } /*?Standard?syntax?*/ @keyframes?progressbar?{ from?{ width:0 } to?{ width:100% } } 7.条纹进度条,应该把?.bar-fill?重新命名为?.bar-fill-stripes?。使用?backgrou-image?属性里的?linear-gradient?同时声明它的颜色。剩余的CSS3动画效果也是和上述相同,看下面的代码: .bar-fill-stripes?{ height:15px; display:block; background:#e74c3c; width:0; border-radius:8px; background-image:linear-gradient(-45deg,rgba(255,255,255,.2)?25%,transparent?25%,transparent?50%,rgba(255,255,255,.2)???50%,rgba(255,255,255,.2)?75%,transparent?75%,transparent); -webkit-transition:width?.8s?ease; -moz-transition:width?.8s?ease; transition:width?.8s?ease; -webkit-animation:progressbar?7s?infinite; animation:progressbar?7s?infinite } 追踪 Tracker 8.最后产生动画效果 .track-wrap?{ position:relative; top:-18px; -webkit-animation:progressbar2?7s?infinite; animation:progressbar2?7s?infinite } .track?{ height:20px; display:block; background:#e74c3c; width:20px; border-radius:10px; position:relative; left:-12px } @-webkit-keyframes?progressbar2?{ from?{ left:0 } to?{ left:100% } } /*?Standard?syntax?*/ @keyframes?progressbar2?{ from?{ left:0 } to?{ left:100% }
css进度条怎么让它竖着
常见的进度条是横着放的,那是设置了其宽度变化,要其竖着,只要将设置其高度变化即可。如:
div?style="width:10px;?height:100px;?border-radius:5px;?background-color:#ddd;?position:relative;"
div?style="width:10px;?height:50%;?border-radius:5px;?background-color:skyblue;?position:absolute;?left:0;?bottom:0;"/div
/div
其效果图如下:
CSS实现不规则自定义进度条效果
进度条效果做为网站常用模块无论是投资理财类、还是众筹类、加载提示类网站已经比较常见。另外,HTML5新增了 progress 标签,其重要程度可见一斑。
由于HTML的 progress 存在兼容性问题,本文主要讲解如何通过CSS实现一个简单的自定义进度条效果!
前端开发常用的进度条效果如下:
(环形进度条下次再讲!)
这两个算是比较有代表性的,一个的均匀的一个的不均匀的,实现起来略有不用。
以第一个为例:
这种比较简单,只需要两个 div 标签就可以了(一个标签也可以实现,后文会讲到)
原理介绍:
外层 div 用来显示进度条总长度以及背景色;内层div用来显示当前进度条进度,和当前进度条颜色。
结构如下:
样式如下:
此时效果如下:
只需要利用 js 动态控制上层 div 的宽度就可以实现最简单的自定义进度条了.
** 第二种带原点的进度条 **
此时实现原理跟第一种类似,只是背景色替换成了背景图片,图片如下:
这两个图片除了颜色不一样以外其他是一样大小的!
如果上面的能理解我想这个就不难理解了吧,不过为了显得文章完整还是简单做一个demo如下:
效果如下:
css如何改变进度条的样式
css如何改变进度条的样式有两步。
1、通过webkitscrollbar属性设置滚动条整体部分。
2、通过webkitscrollbarbutton属性设置滚动条两端的按钮。
怎么用css3做一个进度条中间有文字
.bar?a{
position:?absolute;
????left:?50%;
????top:?50%;
????margin:?-9px?-24px;
????z-index:?21;
}
.rate{
height:?50px;
width:?0;
position:?absolute;
background:?-webkit-linear-gradient(left,?pink?,?red);
}
div?class="bar"
div?class="rate"/div
a进度条/a
/div
input?onkeyup="if(isNaN(value))execCommand('undo')"?onafterpaste="if(isNaN(value))execCommand('undo')"??maxlength="3"?class="set-rate"?placeholder="设置进度"
$('.set-rate').bind('input?propertychange',?function()?{??
????if($('.set-rate').val()?=?100??$('.set-rate').val()??0){
???? $('.rate').width($('.set-rate').val()?+?'%')
???? $('.rate1').width(5*parseInt($('.set-rate').val()))
????}?else?if($('.set-rate').val()??100){
???? $('.rate').width('100%');
???? $('.set-rate').val(100);
???? $('.rate1').width(5*parseInt($('.set-rate').val()))
????}?else?{
???? $('.rate').width(0);
???? $('.rate1').width(0);
????}
});
用JQ