CSS进度条不合适,如何保持原位?

时间:2013-07-10 02:29:53

标签: html css

我有四个进度条。它们应该留在灰色区域容器内。它反过来在页脚下,如下面的图像屏幕截图所示。

制作条形码的代码是为了让我可以将它们放置在周围,并且它不仅仅停留在一个区域。

那是code to the progress bars

HTML:

<section class="container">
    <section class="wrapper">
        <div class="meter"> <span style="width: 90%"></span>

        </div>
        <div class="meter"> <span style="width: 70%"></span>

        </div>
        <div class="meter"> <span style="width: 50%"></span>

        </div>
        <div class="meter"> <span style="width: 90%"></span>

        </div>
    </section>
</section>

CSS:

.container {
    position: relative;
}

.wrapper {
    position: absolute;
    right: 0;
    top: 90px;
}

.meter {
    height: 15px;
    /* Can be anything */
    margin-bottom: 10px;
    background: #555;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    width: 210px;
    padding: 0px;
    -webkit-box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3);
    -moz-box-shadow : inset 0 -1px 1px rgba(255, 255, 255, 0.3);
    box-shadow : inset 0 -1px 1px rgba(255, 255, 255, 0.3);
}
.meter > span {
    display: block;
    height: 100%;
    -webkit-border-top-right-radius: 8px;
    -webkit-border-bottom-right-radius: 8px;
    -moz-border-radius-topright: 8px;
    -moz-border-radius-bottomright: 8px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    -webkit-border-top-left-radius: 20px;
    -webkit-border-bottom-left-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-bottomleft: 20px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    background-color: rgb(43, 194, 83);
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgb(43, 194, 83)), color-stop(1, rgb(84, 240, 84)));
    background-image: -webkit-linear-gradient(center bottom, rgb(43, 194, 83) 67%, rgb(84, 240, 84) 69%);
    background-image: -moz-linear-gradient(center bottom, rgb(43, 194, 83) 37%, rgb(84, 240, 84) 69%);
    background-image: -ms-linear-gradient(center bottom, rgb(43, 194, 83) 37%, rgb(84, 240, 84) 69%);
    background-image: -o-linear-gradient(center bottom, rgb(43, 194, 83) 37%, rgb(84, 240, 84) 69%);
    -webkit-box-shadow: inset 0 2px 9px rgba(255, 255, 255, 0.3), inset 0 -2px 6px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: inset 0 2px 9px rgba(255, 255, 255, 0.3), inset 0 -2px 6px rgba(0, 0, 0, 0.4);
    position: relative;
    overflow: hidden;
}

2 个答案:

答案 0 :(得分:0)

添加这些新CSS并查看?

.wrapper {
    position:relative;
    top:20px;
    left:100px;
    padding:
}
.container {
    position:relative;
    float:left;
    top:0;
    left:0;
    width:100%;
    height:auto;
}
#footer{
    position:absolute;    
    left:0;
    bottom:0;
}

答案 1 :(得分:0)

你有正确的想法。但是,您将相对于空section.container放置了您的包装器。 section.container没有设置宽度和高度,因此您可以使元素不在您认为应该的位置。

只需为您的容器选择一个min-height,您就可以在其内部移动它。

 <section class="container" style="min-height: 300px;">
   <section class="wrapper">
     <div class="meter"> <span style="width: 90%"></span>
     </div>
      ...
   </section>
 </section>

我还会将您的页面内容放入section.container(本例中为p标签)。然后,您可以将栏移动到页面的任何位置。

position: absolute可让您指定在position: relative内移动的坐标(顶部,底部,左侧)。如果那个相对的东西没有宽度(或者宽度小于你所定位的元素的宽度,那么你必然会在诸如此类的东西之下获得页脚。