css - 为什么高度在 IE11 上看起来如此不同?
问题描述
我有一个带有width: 200px
and的 svg 对象height: auto
。在(几乎)每个浏览器(edge、firefox、opera - 全部更新)上,高度似乎与预期的一样 -60.27px
由浏览器计算。但是 IE11... 让我的生活变得更加艰难(我不能说这很令人惊讶)。查看差异:
svg代码:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 162.229 48.884" enable-background="new 0 0 162.229 48.884" xml:space="preserve">
<rect fill="#111111" width="162.229" height="48.884"/>
</svg>
CSS:
._logo svg {
width: 200px;
height: auto;
display: block;
margin: 0 auto;
}
(._logo
包含box-sizing: border-box
)
为什么会这样?
解决方案
IE 中存在一个错误,如果您不提供宽度和高度,它无法正确缩放 SVG。如果可以的话,您可能想尝试设置高度。或者你可以试试 Canvas 的方式。http://nicolasgallagher.com/canvas-fix-svg-scaling-in-internet-explorer/
推荐阅读
- javascript - 以编程方式提交重力表
- python - 从视频/图像中提取检测到的对象
- python - 如何通过 tkinter 在 Python 中检查多项选择(复选框)?
- python - 在python中循环并将数据写入csv文件
- c++ - 生产者消费者程序中的段错误
- sql-server - SQL Server:如何删除架构级联其所有对象?
- assembly - 汇编中的浮点异常 [NASM]
- flutter - 带有颤振块的滚动控制器
- ubuntu - 安装 Certbot XAMPP Ubuntu
- python - 在 vscode 中使用 python anaconda 作为我的解释器时无法安装格式化程序