在iPhone上查看电话号码时,是否有办法删除默认的蓝色超链接颜色?像一个特定的移动Safari标签或CSS添加?

我只在数字的地方有这个:

<p id="phone-text">Call us on <strong>+44 (0)20 7194 8000</strong></p>

这里没有超链接,但iPhone仍然将这个文本数字显示为超链接。我在我的一些网站上有这个渲染问题,但不明白为什么会发生这种情况。

我确实读过这篇文章:

移动HTML渲染数字

但这是唯一可行的解决方案吗?


当前回答

我来详细阐述一下David Thomas之前的建议:

a[href^="tel"]{
    color:inherit;
    text-decoration:none;
}

将此添加到css中会保留电话号码的功能,但会去掉下划线并匹配您最初使用的颜色。

其他回答

这个x-ms-format-detection="none"属性处理格式化电话。

https://msdn.microsoft.com/en-us/library/dn337007 (v = vs.85) . aspx

<p id="phone-text" x-ms-format-detection="none"  >Call us on <strong>+44 (0)20 7194 8000</strong></p>

iOS在默认情况下允许点击电话号码(原因很明显)。当然,这会增加一个额外的标签,如果你的电话号码不是一个链接,它会覆盖你的样式。

要解决这个问题,请尝试将以下内容添加到样式表中:文字修饰:没有;}

这应该保持您的电话号码样式为您所期望的,而不增加额外的标记。

我来详细阐述一下David Thomas之前的建议:

a[href^="tel"]{
    color:inherit;
    text-decoration:none;
}

将此添加到css中会保留电话号码的功能,但会去掉下划线并匹配您最初使用的颜色。

如果你只是想避免电话号码作为链接,可以使用字体标签:

<p>800<font>-</font>555<font>-<font>1212</p>

将数字放在<fieldset>中将阻止iOS出于某些原因将数字转换为链接。在某些情况下,这可能是正确的解决方案。我并不提倡完全禁用链接转换。