HTML垂直条两种不同的颜色

时间:2013-08-14 14:48:02

标签: html

我想在HTML中制作一些统计条形图,使用两种不同的颜色在同一条形图中表示两个不同的值,例如:从10个问题的考试中,6个问题得到正确回答,4个错误。在栏中应该出现60%的绿色和另外40%的红色。

我一直在考虑首先显示红色的,然后是绿色的,所以它覆盖了下半部分,如下所示:

风格

.bar1{
    width:40px;
    background-color:#A55541;
    position:left;
}
.bar2{
    width:40px;
    background-color:#CA804F;
    position:left;
}

HTML

<div style="height:<?=$max ?>px; margin-top:10px;" class="bar1"</div>
<div style="height:<?=$max-($mistakes*$scale) ?>px; margin-top:10px;" class="bar2"</div>    

但它不起作用。有谁知道怎么解决?我一直在寻找类似的问题,但我找不到它。

3 个答案:

答案 0 :(得分:1)

您可以尝试这样做:

<强> PHP

<?php
$max = 300;
$mistakes = 100;
$scale = 1;
?>

<强> HTML

<div style="height:<?=$max ?>px;" class="bar1"></div>
<div style="height:<?=$max-(mistakes*scale) ?>px;" class="bar2"></div>  

<强> CSS

.bar1{
    width:40px;
    background-color:red;
    position: absolute;
}
.bar2{
    width:40px;
    background-color:green;
    position: fixed;
}

http://jsfiddle.net/BDNXS/

答案 1 :(得分:1)

要使此代码正常工作,请创建另一个类,如:

.container {
       width : 40px;
       height: 100px;
       position: relative
 }

使bar1位置相对,bar2位置绝对,底部:0px和z-index:100。现在在容器类中添加两个div并在php中设置bar2'top'而不是height。

答案 2 :(得分:0)

这匹配你想要的吗?

<?php
$max = 100;
$mistakes = 40;
$scale = 1;
?>
<html>
<style>
.bar1{
    width:40px;
    background-color:green;
    float:left;
        z-index:1;
        position: absolute;
}
.bar2{
    width:40px;
    background-color:red;
    float:left;
    z-index:2;
        position: absolute;
}
</style>
<div style="height:<?php echo $max ?>px;" class="bar1"></div>
<div style="height:<?php echo $max -($mistakes*$scale) ?>px;" class="bar2"></div>
</html>

我添加了一个回声并摆脱了边缘顶部,因为它弄乱了我认为你想要的布局。