【问题标题】:<span> not taking color from style attr. or stylesheet on iPad<span> 不从样式属性中获取颜色。或 iPad 上的样式表
【发布时间】:2015-05-07 17:49:56
【问题描述】:

我有一个问题困扰了我好几个小时。我有以下html:

<div id='numbers'><span>+44 (0)845 519 7811<br />+44 (0)118 947 4888</span></div>

我已应用以下 CSS:

#numbers span {
    color:#CCC;
}

我检查了继承,没有发现任何问题。除了 iPad 和 iPhone 上的 Safari 之外,这段代码在我测试过的所有浏览器上都能正常显示(我可以点击它们,它会询问我是否要打电话),但是文本是白色的!我玩过,更改了 DIV Id 以确保我没有交叉样式,将 span color 更改为各种类型,没有任何改变。

有其他人遇到过这个问题吗?

(我正在使用带有 Jquery 的 touchstart 事件,当单击 &lt;a&gt; 时显示和隐藏此 DIV。我提到这一点是因为它可能会导致问题,但我看不出如何。)

【问题讨论】:

  • 您是否尝试将选择器设置为 span 或更改样式声明(以更改跨度上的其他属性)?
  • 你试过在 CSS 中给出 !important 吗?

标签: jquery html css ipad touchstart


【解决方案1】:

您可以将以下元标记添加到 HTML 的头部,但您将失去点击电话号码的能力:

<meta name="format-detection" content="telephone=no">

或者尝试:

#numbers a {
    color:#CCC;
}

【讨论】:

【解决方案2】:

This question 包含您的答案。

问题在于 iOS 会自动将任何看起来像电话号码的东西变成链接。您可以通过以下方式禁用该功能:

<meta name="format-detection" content="telephone=no">

然后显式使用“tel” URI 方案,如下所示:

<a href="tel:+44 (0)845 519 7811">+44 (0)845 519 7811</a>

【讨论】:

  • 感谢 Ed,对您的回答 +1 有帮助(连同上述内容)
【解决方案3】:

您可以始终定位电话号码链接并强制设置所需的样式,而不是完全禁用电话数据检测。

a[href^="tel:"] { 
    color: #CCC !important; 
    etc... 
}

这将覆盖 Monile Safari 的默认样式,而不向 HTML 添加各种额外的标记。

【讨论】:

  • 很好的答案,喜欢在保持其行为的同时设置链接样式的能力。
猜你喜欢
  • 1970-01-01
  • 2014-07-13
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 2022-12-03
  • 2013-08-23
  • 2011-11-02
  • 2021-10-15
相关资源
最近更新 更多