在iPhone上查看电话号码时,是否有办法删除默认的蓝色超链接颜色?像一个特定的移动Safari标签或CSS添加?
我只在数字的地方有这个:
<p id="phone-text">Call us on <strong>+44 (0)20 7194 8000</strong></p>
这里没有超链接,但iPhone仍然将这个文本数字显示为超链接。我在我的一些网站上有这个渲染问题,但不明白为什么会发生这种情况。
我确实读过这篇文章:
移动HTML渲染数字
但这是唯一可行的解决方案吗?
如果你想保留电话号码的功能,但只是为了显示而删除下划线,你可以将链接样式设置为任何其他:
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、黑莓等平台的用户/开发者也可以对此发表评论)。
我一直在
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规则,特别是在使用填充/边距时。