You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Safari浏览器忽略inline-block元素右padding属性的CSS兼容问题

Safari浏览器inline-block嵌套链接右padding丢失兼容问题

问题现象

  • 触发场景:<a>标签设置display: inline-block属性,内部嵌套的<span>元素为inline-block类型时,Safari会忽略该链接的右侧padding
  • 跨浏览器差异:相同代码在Firefox、Chrome浏览器中渲染表现正常
  • 无效方案缺陷:如果给内部<span>添加padding修复Safari下的异常,会导致Firefox、Chrome下元素右侧间距过大
  • 现有约束:出现问题的DOM结构由PrimeFaces的speeddial组件自动生成,无法直接修改DOM结构
  • 效果参考:各浏览器渲染效果对比截图

可复现代码

CSS样式

ul{
  width: 200px;
  height: auto;
  list-style: none;
}
li{
  margin-bottom: 1em;
}

a{
  display: inline-block;
  background: red;
  padding: 0 1em;
}

span{
  white-space: nowrap;
}
svg{
  margin-right: 0.5em;
  max-width: 1.25rem;
  vertical-align: bottom; 
}

HTML结构

<ul>
  <li>
    <a href="#"><span>
        <svg enable-background="new 0 0 20 21.4" viewBox="0 0 20 21.4">
          <path d="m13.1 8.4v-6h1v-2h-8.2v2h1v6l-4.4 9.6c-.1.1-.1.3-.1.4v.5c0 .2 0 .4.1.6s.1.4.3.5c.2.3.4.5.7.7.2.2.5.3.9.3h11.2c.3 0 .7-.1 1-.3s.5-.4.7-.7c.2-.3.3-.6.3-1 0-.3 0-.7-.2-1zm-4.2.7c0-.1.1-.2.1-.2 0-.1 0-.1 0-.2v-6.2h2v6.2.2c0 .1 0 .2.1.2l2.1 4.7h-6.4z" fill="#fff"></path>
        </svg>
        Link text one
      </span></a>
  </li>

  <li>
    <a href="#"><span>
        <svg enable-background="new 0 0 20 21.4" viewBox="0 0 20 21.4">
          <path d="m13.1 8.4v-6h1v-2h-8.2v2h1v6l-4.4 9.6c-.1.1-.1.3-.1.4v.5c0 .2 0 .4.1.6s.1.4.3.5c.2.3.4.5.7.7.2.2.5.3.9.3h11.2c.3 0 .7-.1 1-.3s.5-.4.7-.7c.2-.3.3-.6.3-1 0-.3 0-.7-.2-1zm-4.2.7c0-.1.1-.2.1-.2 0-.1 0-.1 0-.2v-6.2h2v6.2.2c0 .1 0 .2.1.2l2.1 4.7h-6.4z" fill="#fff"></path>
        </svg>
        Link text
      </span></a>
  </li>
</ul>

如有开发者遇到过同类问题,恳请提供可行解决方案。

内容的提问来源于stack exchange,提问作者steve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 05:09:31