我有一个使用html和css的条形图,我使用高度来显示填充条的数量。现在它可以工作,但它的工作方式与我想要的相反。当高度:0%时,条形填充100%。我尝试将CSS更改为“bottom”而不是“top”但是没有做任何事情。如何改变这一点,“身高:100%”会使其100%填充?
HTML:
<div class="bars">
<div><span style="height:0%;"></span></div>
<div><span style="height:10%;"></span></div>
<div><span style="height:20%;"></span></div>
<div><span style="height:30%;"></span></div>
<div><span style="height:40%;"></span></div>
<div><span style="height:50%;"></span></div>
<div><span style="height:60%;"></span></div>
<div><span style="height:70%;"></span></div>
<div><span style="height:80%;"></span></div>
<div><span style="height:90%;"></span></div>
<div><span style="height:100%;"></span></div>
<div><span style="height:100%;"></span></div>
<div><span style="height:90%;"></span></div>
<div><span style="height:80%;"></span></div>
<div><span style="height:70%;"></span></div>
<div><span style="height:60%;"></span></div>
<div><span style="height:50%;"></span></div>
<div><span style="height:40%;"></span></div>
<div><span style="height:30%;"></span></div>
<div><span style="height:20%;"></span></div>
<div><span style="height:10%;"></span></div>
<div><span style="height:0%;"></span></div>
</div>
CSS:
.bars{
height: 48px;
display: block;
overflow: hidden;
margin: 0 3px;
}
.bars div{
background: rgb(12,88,160); /* Old browsers */
background: -moz-linear-gradient(top, rgba(12,88,160,1) 0%, rgba(10,52,91,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(12,88,160,1)), color-stop(100%,rgba(10,52,91,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* IE10+ */
background: linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c58a0', endColorstr='#0a345b',GradientType=0 ); /* IE6-9 */
float: left;
height: 100%;
width: 8px;
margin-right: 2px;
}
.bars div span {
background: #233243;
height: 0%;
width: 100%;
display: block;
position: relative;
top: 0;
}
答案 0 :(得分:1)
只需给.bars div class“position:absolute;”并将.bars div span CSS更改为“position:relative; bottom:0px;”。
示例here。
<div class="bars">
<div><span style="height:0%;"></span></div>
<div><span style="height:10%;"></span></div>
<div><span style="height:20%;"></span></div>
<div><span style="height:30%;"></span></div>
<div><span style="height:40%;"></span></div>
<div><span style="height:50%;"></span></div>
<div><span style="height:60%;"></span></div>
<div><span style="height:70%;"></span></div>
<div><span style="height:80%;"></span></div>
<div><span style="height:90%;"></span></div>
<div><span style="height:100%;"></span></div>
<div><span style="height:100%;"></span></div>
<div><span style="height:90%;"></span></div>
<div><span style="height:80%;"></span></div>
<div><span style="height:70%;"></span></div>
<div><span style="height:60%;"></span></div>
<div><span style="height:50%;"></span></div>
<div><span style="height:40%;"></span></div>
<div><span style="height:30%;"></span></div>
<div><span style="height:20%;"></span></div>
<div><span style="height:10%;"></span></div>
<div><span style="height:0%;"></span></div>
</div>
CSS:
.bars{
height: 100px;
display: block;
overflow: hidden;
margin: 0 3px;
vertical-align:bottom;
}
.bars div{
background: rgb(12,88,160); /* Old browsers */
background: -moz-linear-gradient(top, rgba(12,88,160,1) 0%, rgba(10,52,91,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(12,88,160,1)), color-stop(100%,rgba(10,52,91,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* IE10+ */
background: linear-gradient(top, rgba(12,88,160,1) 0%,rgba(10,52,91,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c58a0', endColorstr='#0a345b',GradientType=0 ); /* IE6-9 */
float: left;
height: 100%;
width: 8px;
margin-right: 2px;
position:relative
}
.bars div span {
background: #233243;
height: 0%;
width: 100%;
display: block;
position: absolute;
bottom: 0;
}
答案 1 :(得分:0)
我能想到的快速修复不是指定跨度中的高度,而是指定负顶部位置
<div class="bars">
<div><span style="top:-0%;"></span></div>
<div><span style="top:-10%;"></span></div>
<div><span style="top:-20%;"></span></div>
<div><span style="top:-30%;"></span></div>
<div><span style="top:-40%;"></span></div>
<div><span style="top:-50%;"></span></div>
<div><span style="top:-60%;"></span></div>
<div><span style="top:-70%;"></span></div>
<div><span style="top:-80%;"></span></div>
<div><span style="top:-90%;"></span></div>
<div><span style="top:-100%;"></span></div>
<div><span style="top:-100%;"></span></div>
<div><span style="top:-90%;"></span></div>
<div><span style="top:-80%;"></span></div>
<div><span style="top:-70%;"></span></div>
<div><span style="top:-60%;"></span></div>
<div><span style="top:-50%;"></span></div>
<div><span style="top:-40%;"></span></div>
<div><span style="top:-30%;"></span></div>
<div><span style="top:-20%;"></span></div>
<div><span style="top:-10%;"></span></div>
<div><span style="top:-0%;"></span></div>
</div>
并将所有跨度的css高度设置为100%。
.bars div span {
background: #233243;
height: 100%;
width: 100%;
display: block;
position: relative;
top: 0;
}
结果可见here