2014-04-03 64 views

回答

1

簡單的解決方案:

申請

.weekbar{ 
position:relative; 
display:inline-block; 
top:50%; // height of biggest bar 
} 

入住這JSFiddle

或者,如果古代的瀏覽器支持不是什麼大不了的事,你可以使用::before元素如下:

.graph::before{ 
content:""; 
display:block; 
height:50%; // height of the biggest bar 
} 
.weekbar{ 
display:inline-block; 
} 

檢查此JSFiddle

+0

我想他也希望酒吧底部對齊...留在灰色的div。 – TylerH

+0

@TylerH yep更新了另一個解決方案.. –

4

調整了HTML位以及CSS和得到這個:http://jsfiddle.net/7vdLV/74/

<div class="graph"> 
    <div class="weekbar"><div style="height: 10%;"></div></div> 
    <div class="weekbar"><div style="height: 20%;"></div></div> 
    <div class="weekbar"><div style="height: 30%;"></div></div> 
    <div class="weekbar"><div style="height: 40%;"></div></div> 
</div> 

由於TylerH指出內嵌樣式被認爲是不好的做法,所以你會得到更好的替代它們帶班,即

<div class="graph"> 
    <div class="weekbar"><div class="h10"></div></div> 
    <div class="weekbar"><div class="h20"></div></div> 
    <div class="weekbar"><div class="h30"></div></div> 
    <div class="weekbar"><div class="h40"></div></div> 
</div> 

.h10 { 
    height: 10%; 
} 
+0

Downvote;這不僅與OP沒有相同的內容,而且還使用了內聯樣式,這是不好的做法,特別是對於答案。 – TylerH

+1

@TylerH OP的原始JSFiddle使用內聯樣式 – haxxxton

+0

@TylerH - OP的版本具有相同的內聯樣式。如果他不想讓他們內聯,顯然很容易變成一個班級。這是他的代碼。 –

0

我會改變floatdisplay:inline-block;然後在圖的開頭設置一個「隱形」重置器div以確保所有元素從底部(而不是最高線的底部)。

.weekbar { 
    width: 3.1%; 
    margin-left: -4px; 
    margin-right: 2%; 
    display:inline-block; 
    background-color: #aeaeae; 
} 
.resetter{ 
    height:100%; 
    display:inline-block; 
    width:0; 
    margin-right:-4px; 
} 

看看這個JSFiddle

另外在關於內聯樣式使用(不做!)的說明。如果你知道你有一個離散的高度(即在你的例子中它們都是10的倍數),我會建議爲它們創建類。

1

作出這些修改你的CSS:

.graph { position:relative; } 
.weekbar { position: relative; top: 100%; left: 0; } 

這就是你正在尋找呢? http://jsfiddle.net/4HEEk/

+0

不是,圖上還是倒着的 – Jimmy

2

儘量變換:

-moz-transform: scaleY(-1); 
-o-transform: scaleY(-1); 
-webkit-transform: scaleY(-1); 
transform: scaleY(-1); 
filter: FlipV; 
-ms-filter: "FlipV"; 

http://jsfiddle.net/L4A2h/1/

+0

哇,漂亮的解決方案 – haxxxton

2

只需更換。用下面的代碼圖類

.graph { 
width: 100%; 
height: 200px; 
background-color: #eaeaea; 
-moz-transform: scaleY(-1); 
-o-transform: scaleY(-1); 
-webkit-transform: scaleY(-1); 
transform: scaleY(-1); 
filter: FlipH; 
-ms-filter: "FlipH"; 
} 

希望這有助於

1

您可以通過這個jQuery代碼使用position:relative;家長和position:relative;也爲孩子和計算top值:

$(document).ready(function() { 
    var parentHeight = $('.graph').height(); 
    $('.weekbar').each(function() { 
     var height = parentHeight - $(this).height(); 
     $(this).css('top',height*100/parentHeight + '%'); 
    }); 
}); 

這裏是一個working fiddle