SVG 容器在 Safari 桌面中呈现错误的大小(在 Chrome/iOS 中正常)

2024-03-12

我以为 Safari 已经解决了这个问题,但它似乎仍然是一个问题(除非我做了一些明显错误的事情)。

我在对象标签内放置了一个 SVG。它被包裹在一个灵活的包含 DIV 中(例如设置为宽度 50%)。在调整大小时,容器高度在 Firefox、Chrome 和 Opera 中按我的预期调整大小,但在 Safari 上容器仍然太高。

下面是 Codepen 上的一个例子来演示,切换到全尺寸结果或“侧面编辑器”(右下按钮)可以在 Safari 中清楚地看到效果:http://codepen.io/benfrain/full/fhyrD http://codepen.io/benfrain/full/fhyrD

除了使用 JS 在加载/调整大小时调整 SVG 大小之外,有谁知道我还能做些什么来使 Safari 正常运行吗?我可以发誓几周前我就已经解决了这个问题,但现在我似乎又遇到了这个问题。


所以,塞尔吉奥·洛佩兹对此有一个答案。您可以采用 Thierry Koblentz 此处描述的视频技术的固有比率:http://alistapart.com/article/creating-intrinsic-ratios-for-video http://alistapart.com/article/creating-intrinsic-ratios-for-video。更多信息请参阅此博文:http://benfra.in/20l http://benfra.in/20l

以下是 CSS 中所需的剪切和粘贴代码:

周围物体标签

object {
    width: 100%;
    display: block;
    height: auto;
    position: relative;
    padding-top: 100%;
} 

这是里面的 SVG:

svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SVG 容器在 Safari 桌面中呈现错误的大小(在 Chrome/iOS 中正常) 的相关文章

随机推荐

  • 不变函子的例子?

    我正在阅读monad 层包的文档 http hackage haskell org package layers 0 1 docs Documentation Layers Overview html我的大脑快要沸腾了 In the mmt
  • 如何配置 gradle 仅对某些依赖项组使用本地存储库?

    工作关 闭gradle 依赖文档 http www gradle org dependency management html 我们有一个包含这样的片段的 build gradle repositories mavenCentral ivy
  • RijndaelManaged:第四代?

    我想在我的应用程序中实现最安全 最可靠的对称密钥加密形式 用户应该输入密码来加密 解密 仅此而已 对于 RijndaelManaged 必须输入密钥和 IV 我不知道如何解决这种情况 现在 我输入的密码经过 SHA256 哈希处理 然后用作
  • MATLAB 对 2D 和 3D 矩阵进行排序并通过索引访问

    假设你有一个一维矩阵 a rand 1 5 sa i sort a then sa and a i 是相同的 然而 如果矩阵的大小增加 a rand 3 4 sa i sort a then sa and a i 不一样 当我尝试按三维矩阵
  • React 中的 getElementById

    目前出现此错误 Uncaught TypeError Cannot read property value of null 我在下面的渲染函数中调用它
  • 触发单击 SVG 图像

    我正在尝试使用 SVG 图像 看看是否可以为我的网站创建地图 我从第三方网站获取了该图像 现在我只是尝试实现它 这是我所拥有的一个小提琴 https jsfiddle net hL1weg3o 1 https jsfiddle net hL
  • 使用 ctypes 从 Python 调用 fortran 函数

    我希望使用 ctypes 来调用一些旧的 Fortran 库 这些库是我老板几年前编写的 我按照中给出的例子进行操作上一个问题 https stackoverflow com questions 5811949 call functions
  • 如何在Python中实现自己的自定义字典类

    我正在学习 python 课程 并且正在尝试创建我自己的版本defaultdict from collections模块 这是我尝试过的 class Mydict dict def missing self key self key ret
  • 如何使 @Controller 映射路径可配置?

    我正在构建一个内部库 它应该自动向 Spring MVC 应用程序添加一些控制器 这些控制器都是 RestController一些带有注释的处理程序方法 RequestMapping 由于它是一个库 我希望用户能够指定库应公开所有这些控制器
  • 在 ngOnInit Angular 之前处理异步 Promise

    我有一个返回表数据的请求 需要像等待数据加载的承诺一样处理该请求 为了将数据加载到表中 我必须使用异步 等待 但这会弄乱所有其他函数 方法 如何在 ngOnInit 上不使用 async wait 的情况下将数据存储在 currentLis
  • 直接调用LayoutInflater和不调用LayoutInflater有什么区别?

    我浏览了一些教程 在 Android Doc 中 它说在实例化 LayoutInflater 时不要直接访问它 谷歌文档中的示例 LayoutInflater inflater LayoutInflater context getSyste
  • 我们可以在没有 hibernate.cfg.xml 的情况下配置 Hibernate

    下面是hibernate cfg xml
  • 找不到路径为 Platform SDK 的平台:platforms;android-31

    我正打算将支持 SDK 更新到最新版本的 Android 即 SDK 31 S 但 Gradle 同步存在一些问题 错误 Failed to notify build listener Could not resolve all depen
  • 从命令行登录 Firebase 工具

    我正在使用 Codeship 部署 firebase 应用程序 为此 我首先需要使用firebase login命令 问题是 我需要在浏览器中登录 然后返回命令行并执行部署 是否有一种自动方式向 Firebase 提供凭据 Cheers f
  • cursor.toArray() 返回一个承诺而不是数组

    目前使用node 4 3 2和mongo 2 6 我正在尝试获取整个集合 集合中当前有三个文档 当我使用这段代码时 我遇到了一个问题 function checkUpdateTime last updated var collection
  • 如何转换上传的视频并从此文件获取屏幕截图?

    我正在构建一个CMS 我希望用户能够上传视频 但我不熟悉视频上传和转换 有没有例子或者有人编写了这样的解决方案 我听说过 ffmpeg 但我不知道如何将它与 asp net 集成 作为简单的解决方案 我可以让我的客户上传 flv 文件 但我
  • 如何向 graphql 中的输入参数添加默认值

    我有这种输入类型 我想向其中一个字段添加默认值 我想将 0 添加到 ExampleInput 内的值字段 type ExampleType value Int another String type Mutation example inp
  • 在dispatch_async中正确引用self

    如何在快速关闭中正确引用 self dispatch async dispatch get main queue self popViewControllerAnimated true 我收到错误 Cannot convert the ex
  • django-admin 中的模型描述

    django admin中是否可以在某个模型的列表显示页面上放置模型描述或描述 我说的是当你点击 django admin 主页上的模型名称链接并进入该模型的列表显示页面时 表格顶部将写有说明 就像是 该模型用于记录将通过我们的抓取获取的所
  • SVG 容器在 Safari 桌面中呈现错误的大小(在 Chrome/iOS 中正常)

    我以为 Safari 已经解决了这个问题 但它似乎仍然是一个问题 除非我做了一些明显错误的事情 我在对象标签内放置了一个 SVG 它被包裹在一个灵活的包含 DIV 中 例如设置为宽度 50 在调整大小时 容器高度在 Firefox Chro