【问题标题】:Safari not respecting paddingSafari不尊重填充
【发布时间】:2016-10-17 19:35:00
【问题描述】:

我目前正在处理一个包含一系列 svg 的页面,这些 svg 是使用(坦率地说令人惊叹的)d3.js 动态创建的。

一切都很好,除了我在 Safari(Mac OS X 上的版本 9.1.1 (10601.6.17)(优胜美地,可在 El Capitan 上使用最新的 Safari 9.1 重复))中遇到一个奇怪的问题,导致事情错位。我有两个彼此相邻的 svg,出于所有意图和目的,它们具有所有相同的边距、填充等定义,但其中一个正确放置(具有 14px 的填充顶部),而另一个(理论上也具有14px padding-top) 似乎完全忽略了这种填充并高出 14px。如下图所示,我使用了 Safari 内置的开发者工具,并且填充似乎确实定义正确,只是决定不关心。

相比:

值得注意的是,这个问题在我所拥有的这些 svg 对中重复出现,因此它不仅仅发生在一个实例中(在两张图片中,您可以看到相同的现象反复出现)。

另一个奇怪/有趣的元素是,当我缩小(使用 ⌘ + ⇧ + -)时,问题似乎自行解决了。这只发生在默认缩放级别。

非常感谢任何帮助/指针。我不会以任何有意义的方式将自己描述为前端开发人员,我这样做是出于必要,所以我完全有可能在做一些非常非常愚蠢的事情。

这一切都可以在 Chrome 上完美运行。

【问题讨论】:

  • 我曾经遇到过一个问题,即我在我的 css 中使用了小数,而 safari 会将它们向上或向下舍入。希望对您有所帮助。
  • 感谢@olivier 的回复。我已经在下面发布了我遇到的解决方案,如上所述,您的建议使我朝着正确的方向前进,所以谢谢。我还确保除了填充之外,我的宽度和高度等都是整数。

标签: css svg safari


【解决方案1】:

在跟进olivier 的建议后,我正在修复一些不幸的是不起作用的非整数宽度/高度,但在这样做的同时,我正在查看填充并决定尝试调整它。长话短说,由于 svgs 试图完美地触摸,显然 Safari 正在大吃一惊。在左侧 svg 上将 padding-right 设为 0,在右侧 svg 上将 padding-left 设为 0 似乎是个问题。解决方法是将两个填充都设置为 0.02px(似乎是我可以做到的最低值,而不会给它带来麻烦)。这在两个 svg 之间留下了一个非常微妙的接缝,但显然这是对未对齐它们的巨大改进。

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 1970-01-01
    • 2021-09-13
    • 2023-03-19
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    相关资源
    最近更新 更多