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

其他回答

尝试将ASCII字符的破折号放在数字分隔之间。

从这里:-

到此:&ndash;

例如:change 555-555-5555 => 555&ndash;555&ndash;5555

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

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

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

Joomla Yootheme对我来说很有用:

a:not([class]) {
    color: #fff !important;
}

两个选项…

1. 设置格式检测元标记。

要删除所有电话号码的自动格式化,请将以下内容添加到html文档的头部:

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

查看更多苹果特定的元标签键。

注意:如果你在页面上有电话号码,你应该手动将它们格式化为链接: < a href = "电话:+ 1-555-555-5555 " > 1-555-555-5555 < / >


2. 不能设置元标签?想要使用css?

两个css选项:


选项1(更适合网页)

使用css属性选择器来目标href值以tel开头的链接:

a[href^="tel"] {
  color: inherit; /* Inherit text color of parent element. */
  text-decoration: none; /* Remove underline. */
  /* Additional css `propery: value;` pairs here */
}

选项2(更适合html电子邮件模板)

或者,当你不能设置元标签时,比如在html电子邮件中,在链接/锚标签中包装电话号码(<a href=""></a>),然后使用类似于下面的css来定位它们的样式,并调整你需要重置的特定属性:

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

如果你想要针对特定的链接,在你的链接上使用类,然后更新上面的css选择器为[x-apple-data-detectors].class-name。

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

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

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