我有一個特定尺寸的畫布(讓我們說300x150)。我可以使用哪些CSS來縮放畫布,以便在不改變縱橫比的情況下填充其容器,並在水平和垂直方向居中放置縮放後留下的任何額外空間。我可以使用哪些CSS來縮放畫布以填充容器而不更改其高寬比?
我想這
* {
box-sizing: border-box;
-moz-box-sizing: border-box;
}
html, body {
height: 100%;
}
#container {
width: 100%;
height: 100%;
text-align: center;
}
canvas {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
}
<div id="container">
<canvas></canvas>
</div>
,對於除垂直居中一切正常。我試圖改變#container
到table-cell
與vertical-align: middle
與display:table
外部容器。這是垂直居中,但不再水平縮放。我嘗試將#container
更改爲彈出框,但之後開始垂直縮放畫布。
還有其他想法嗎?
所以這種作品。
canvas {
max-width: 100%;
max-height: 100%;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}
遺憾的是畫布永遠不會捉襟見肘,只能縮水
不確定,但[本文](http://css-tricks.com/centering-in-the-unknown/)可能與您的情況有關? – aug 2014-10-06 02:15:12
我在那篇文章中嘗試過每種技巧。他們都沒有工作。我認爲這個問題是將canvas設置爲'width:auto;身高:自動打破所有這些技術 – gman 2014-10-06 06:06:26