首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS垂直进度条

CSS垂直进度条
EN

Stack Overflow用户
提问于 2014-03-11 22:16:47
回答 1查看 9K关注 0票数 6

垂直进度条

该酒吧的适当造型要求:

  • 进度条必须由一个包含多个交叉条的元素覆盖.
  • 没有图像(即使用十字栏的图像)。
  • 进度条必须连接到原点的底部,并向上延伸。
  • 最重要的是,进度条的包装宽度必须保持动态(%),而不是静态定义。
  • 条的宽度取决于其容器组件的宽度
  • 纯粹的CSS解决方案是最好的,但JQuery是公平的游戏。

进度条HTML:

代码语言:javascript
复制
<div class="container">
    <div class="attendance">
        <p class="title">attendance</p>
        <div class="attendance-bar">
            <div class="attendance-level"></div>
            <div class="attendance-cage-css">
                <div class="crossbar-1"></div>
                <div class="crossbar-2"></div>
                <div class="crossbar-3"></div>
                <div class="crossbar-4"></div>
                <div class="crossbar-5"></div>
                <div class="crossbar-6"></div>
                <div class="crossbar-7"></div>
                <div class="crossbar-8"></div>
                <div class="crossbar-9"></div>
            </div>
        </div>
    </div>
</div>

JS,包括HTML &所有类:

http://jsfiddle.net/q2SAK/

我的进步:

http://jsfiddle.net/q2SAK/2/

奖金:

我为每个横列实现了唯一的类,以实现上面所示的它们之间的不断增加的边距。如果你知道如何在没有类的情况下达到效果,那就竖起大拇指。把它展示在你的JS Fiddle上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-11 23:37:52

接受挑战!

我拿起你的小提琴,用它创造了this。这是一个非常简单的演示,你可以用它做什么。你点击“点击我,它从5 5px到200 5px。当然,你可以让它每一次增加一个特定的数字。不过,这是它的公正。我刚刚在这里张贴了一些修改,完整的代码是在摇摆不定的。”

更新: this one每次单击它都会上升5 5px。你当然需要告诉它停止了,否则它就会永远持续下去。

代码语言:javascript
复制
<div class="container">
        <div class="attendance">
            <p class="title">ATTENDANCE</p>
            <div class="attendance-bar">                
                <div class="attendance-level">
                    <div class="bar-1"></div>
                    <div class="bar-2"></div>
                    <div class="bar-3"></div>
                    <div class="bar-4"></div>
                    <div class="bar-5"></div>
                    <div class="bar-6"></div>
                    <div class="bar-7"></div>
                    <div class="bar-8"></div>
                    <div class="bar-9"></div>
                </div>
                <div class="attendance-cage-css"></div>
            </div>
        </div>
    </div>
<div id="changeatt" style="top:50px; left: 200px; position: absolute">Click me</div>

CSS

代码语言:javascript
复制
.container{
    width:100px;
    height:350px;
    position: absolute;
}

.attendance-bar{
    float:left;
    width:90%;
    margin:0px 5% 0px 5%;
    height:260px;
    background-color:#2f2f2f;
}

.attendance-cage-css{
    width:80px;
    float:left;
    background-color:#6ae719;
    height:5px;
    position: absolute;
    bottom: 20px;
    z-index: 1;
}

.bar-1,.bar-2,.bar-3,.bar-4,.bar-5,.bar-6,.bar-7,.bar-8,.bar-9{
    float:left;
    width:100%;
    background-color:#1f1f1f;
    height:10px;
    z-index: 9999;
}

.attendance-level{
    float:left;
    height:100px;
    width:80px;
    z-index: 9999;
    position: absolute;
    top:60px;
}

JQuery

代码语言:javascript
复制
$('#changeatt').click(function(){
    $('.attendance-cage-css').css('height', '200px');
});

更新,如果您想要一个最大的高度,我建议如下所示。它将检查以确保进度条的高度不超过进度条容器的高度。

代码语言:javascript
复制
if($('.attendance-cage-css').height() < $('.attendance-bar').height()){
    $('.attendance-cage-css').css('height', $('.attendance-cage-css').height() + 5);
}

注意:如果要使条形图达到最大高度,则必须将容器的高度设为正在增加进度条的倍数。例如,如果要将条形图增加5 5px,那么容器的高度应该是260 5px,265 5px,等等。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22337851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档