【发布时间】:2014-10-23 13:40:36
【问题描述】:
假设我有一个尺寸为 500 x 500 的 HTML 画布。以下 CSS 代码创建了一个填充宽度并将高度设置为相同值的画布,使其保持为方形画布。
canvas {
width: 100%;
height: auto;
}
有人会认为将其更改为以下 CSS 代码会使画布填充高度并设置等效宽度,使其保持正方形。 (这将用于横向模式等情况)
canvas {
width: auto;
height: 100%;
}
但事实并非如此。画布恢复到原来的 500 x 500。这是一个 JFiddle 示例:http://jsfiddle.net/0qp5zkgu/ 示例中的画布是 50 x 50,因此更容易看出差异。
【问题讨论】:
-
你能举个合适的例子吗?
-
jsfiddle.net/0qp5zkgu 我将画布大小更改为 50 x 50,以便更容易看到差异。
-
在调整窗口大小时查看this fiddle 中的控制台...车身高度是您的问题。
-
它实际上就像 10 行代码。什么会导致身高不正确?
-
您从未明确设置正文(和 html)的高度。这并不是说身体的高度是错误的......这是为 any 元素处理百分比高度的方式。它检查为其父级指定的高度。