這讓我很困惑,而且很有趣,我希望。CSS定位的畫布大小與其他塊元素大小不同(左上角右下屬性的限制)
我感興趣的是,如果有人能指出我在源的行爲在CSS /帆布規格方面的差異,我知道如何填充父容器的其他解決方案,所以請不要這樣的答案。
考慮這個HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
html, body, #container {
height: 100%; width: 100%; padding: 0; margin: 0;
}
#container {
position: relative;
}
#content {
position: absolute;
border: 1px solid red;
background-color: blue;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: auto;
height: auto;
}
</style>
</head>
<body>
<div id="container">
<canvas id="content"></canvas>
</div>
</body>
</html>
的jsfiddle:http://jsfiddle.net/2zH5H/。此HTML導致畫布的大小與canvas規格要求的默認寬度/高度(300x150)一致,而不是像CSS規則定義的那樣填充父容器。您可以驗證此作品,而不對其他任何塊元素進行更改,例如div:http://jsfiddle.net/8AQVj/1/
此外,我們討論的是屏幕上元素的大小,而不是畫布上下文的維度。 Chrome,Firefox和IE中的行爲是一致的,所以我想它必須來自某處的規範,但我找不到相關的片段。
我想這與有默認大小的元素有關(你已經注意到了):http://jsfiddle.net/8AQVj/2/ – Passerby