回答
您必須將圓柱體圖像分爲三部分:頂部,中部(將重複)和底部。像這樣:
http://img218.imageshack.us/img218/8668/tlchargement.png
例如,給他們打電話top.png,middle.png和bottom.png。
然後,你需要三個HTML元素,每一個部分:
<div class="cylinder top"></div>
<div class="cylinder middle" style="height:300px"></div>
<div class="cylinder bottom"></div>
而CSS:
.cylinder {
width: <width of the cylinder image>px;
}
.cylinder.top {
background-image:url('top.png') no-repeat;
height: <height of the top image>px;
}
.cylinder.middle {
background-image:url('middle.png') repeat-y; /* repeat vertically */
}
.cylinder.bottom {
background-image:url('bottom.png') no-repeat;
height: <height of the bottom image>px;
}
要改變高度或缸,你只需要在修改the style="height:300px"
中間元素。
此解決方案可以在任何瀏覽器中工作,甚至IE6。
創建舍入的底部圖像。 爲管道創建1px高的圖像 爲頂部創建一個小圖像。
將你的圖片分成不同的div。
<div>
<div class="bar1">
<div class="bottom"></div>
<div class="middle"></div>
<div class="top"></div>
</div>
</div>
現在,您可以使用絕對定位和重複背景圖像來設計風格。我不認爲用浮動和全部都很容易,因爲你必須從下到上工作。
用純CSS做這個可能會矯枉過正。當然,你可以使用漸變,但你不能用css只在圓柱體底部得到陰影。我不知道如何用css做圓柱體。
最簡單的方法是使用好的舊背景圖像。
如果您根本不需要任何圖像,則可以考慮使用canvas
。
UPD:如果你可以使用CSS3,你可能想使用multiple background images。這樣,你將只有一個<div>
而不是其中三個。良好的語義。
在http://icant.co.uk/csscharts/看看教程的列表。它可以用你自己的風格輕鬆定製,並且有一個方便的PHP腳本來生成表格。
那麼......它可以用一些「蠻力」來完成。
首先,你應該削減cilinders的基礎,並把它們放在底部對齊的div背景上。 然後在另一個知道和固定高度的div添加兩個相同寬度的div,它們左側浮動並且在背景上,在Y軸上重複一片cilinder。然後根據需要控制它們的高度。在包含其他兩個div的下面,您可以添加標題。 現在你將有相同高度的cilinders。爲了「縮短」你在裏面創建另一個具有一定高度和白色背景(重複圖像或顏色)的div。 ex {
<div id="chart"> <!-- this one has the bottom cut backgound -->
<div style="height:200px">
<!-- cilinder class has the background -->
<div class="clinder" style="height:100%"> </div>
<div class="clinder" style="height:100%">
<!-- this one has white bg -->
<div class="shorter" style="height:30px"> </div>
<div>
</div>
<div class="labels">
<div class="caption">
Indoor
</div>
<div class="caption">
Outdoor
</div>
</div>
</div>
它應該這樣工作。
你可以通過給它一個盒子半徑來製作帶有CSS3的圓柱體。
例如:
box-radius: 100px/30px;
這會給你一個箱子一個橢圓形的外觀。
只要給它所需的寬度和高度,它的完成:)
或者使用jqPlot作爲一個jQuery插件。這個插件可以製作很多圖表。
http://codepen.io/msvbg/pen/Lymko
這只是爲了好玩。在純粹的CSS3中,沒有JS或圖像。更好的方法可能是簡單地使用其中的一個圖表庫。
- 1. CSS如何垂直
- 2. 如何使用CSS在兩個框之間包含垂直線
- 3. 如何垂直滾動兩個UITableView
- 4. CSS垂直間距問題(保證金?) - 兩個Div之間的垂直空間
- 5. 兩側的CSS垂直菜單
- 6. 如何使我的水平CSS垂直導航垂直
- 7. 垂直居中兩個div
- 8. 兩個垂直滾動條
- 9. 對齊兩個div垂直
- 10. MigLayout兩個列垂直流
- 11. Css垂直對齊
- 12. CSS垂直對齊
- 13. CSS垂直大小
- 14. CSS - 垂直居中
- 15. CSS垂直中心
- 16. 純CSS子垂直
- 17. 垂直對齊CSS
- 18. CSS垂直對齊
- 19. CSS垂直堆棧
- 20. 如何將css柱子垂直對齊?
- 21. CSS:如何使圖像垂直底部
- 22. HTML/CSS如何舒展DIV垂直
- 23. 如何在左右兩邊垂直對齊兩個div?
- 24. 使用html css垂直排列4個div垂直使用html css
- 25. 如何使用css在兩個選項框之間繪製垂直線
- 26. 如何在css/html中垂直縮小兩個單詞之間的空間
- 27. CSS:水平對齊兩個內部div垂直
- 28. 帶有兩個垂直跨度元素的css邊界底部
- 29. HTML + CSS兩個頭彼此相鄰的文本垂直對齊
- 30. 如何使用CSS在同一行中創建兩條垂直線使用CSS
可以使用CSS3嗎?必須支持哪些瀏覽器? – thirtydot 2011-01-25 10:49:05
它應該儘可能地支持。 – Pentium10 2011-01-25 10:50:49
哦,好的。然後我確信這裏已經有一個答案可以正常工作。我正在考慮使用`border-radius`來使曲線位於頂部,而CSS3線性漸變。 – thirtydot 2011-01-25 10:56:13