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

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

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

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

我确实读过这篇文章:

移动HTML渲染数字

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


当前回答

一个老问题,但上面的答案都不适合我,我张贴了我是如何解决它的

我有个电话号码在单子上:

<li class="phone_menu">+555 5 555 55 55</li>

css:

.phone_menu{
  color:orange;
}

但是在iPad/iPhone上它是黑色的,所以我只是添加了这个css:

.phone_menu a{
  color:orange;
}

其他回答

我用了一个简单的技巧,在电话号码中间添加一个隐藏对象。

<span style="color: #fff;">
0800<i style="display:none;">-</i> 9996369</span>

这将帮助你覆盖手机号码颜色的IOS。

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

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

这个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>

如果人们在谷歌上发现这个问题,你所需要做的就是把电话号码作为一个链接,因为苹果会自动把它设置为一个链接。

HTML

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

你的css

#phone-text a{color:#fff; text-decoration:none;}

我一直在

1.

    <a href="tel:5551231234">

2.

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

试着让同样的代码适用于台式机和iPhone。问题在于,如果你使用了第一个选项,并从桌面浏览器中点击它,它会给出一个错误消息,如果使用了第二个选项,它会禁用iPhone iOS5上的标签呼叫功能。

所以我试了又试,结果iPhone把电话号码当作一种特殊类型的链接,可以用CSS格式化。我把数字包装在一个地址标签(它将与任何其他HTML标签,只是尽量避免< >标签),并在CSS样式为

.myDiv address a {color:#FFF; font-style: normal; text-decoration:none;}

在桌面浏览器中显示一个纯文本,在Safari移动浏览器中显示一个链接,并在选项卡上弹出Call/Cancel窗口,没有默认的蓝色和下划线。

只是要注意应用于数字的css规则,特别是在使用填充/边距时。