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

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

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

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

我确实读过这篇文章:

移动HTML渲染数字

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


当前回答

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

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;}

其他回答

不需要使用<meta name="format-detection" content="telephone= No ">删除格式检测。尝试在任何标签中使用电话号码,而不是锚定标签,并相应地设置它的样式,例如:span {background:none !边界:0;填充:0;}

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

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

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

如果你想保留电话号码的功能,但只是为了显示而删除下划线,你可以将链接样式设置为任何其他:

a:link {text-decoration: none; /* or: underline | line-through | overline | blink (don't use blink. Ever. Please.) */ }

我还没有看到建议将类应用于电话号码链接的文档,因此您必须向想要具有不同风格的链接添加类/id。

或者你可以使用以下方法来设置链接的样式:

a[href^=tel] { /* css */ }

iPhone可以理解这一点,但其他UA并不适用(据我所知,Android、黑莓等平台的用户/开发者也可以对此发表评论)。

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

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

<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。