【发布时间】:2015-12-04 09:02:46
【问题描述】:
我有一个宽度和高度设置为 100% 的 SVG,并且属性“preserveAspectRatio”设置为“xMidYMid meet”。
使用谷歌浏览器,在添加标签(使其成为 HTML5)后,行为会发生变化。 SVG元素不会占据页面的全部空间,SVG的高度与宽度自动成比例设置。
没有 DOCTYPE 的 HTML - 按预期工作
<html>
<head>
<style>
body{
padding:0;
margin:0;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg"
version="1.1"
style="width:100%;height:100%;background-color:#0f0"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 100 150">
<rect
x="11"
y="11"
width="80"
height="130"
style="stroke: #000000; fill:none;"/>
</svg>
</body>
</html>
带有 DOCTYPE 的 HTML - 不工作
<!DOCTYPE HTML>
<html>
<head>
<style>
body{
padding:0;
margin:0;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg"
version="1.1"
style="width:100%;height:100%;background-color:#f00"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 100 150">
<rect
x="11"
y="11"
width="80"
height="130"
style="stroke: #000000; fill:none;"/>
</svg>
</body>
</html>
注意 :: 内联结果 sn-ps 可能不正确参考 Plunker
【问题讨论】: