ChatGPT解决这个技术问题 Extra ChatGPT

如何删除锚点(链接)的下划线?

无论如何(在CSS中)避免页面中引入的文本和链接的下划线..?

你永远不能假设浏览器会如何呈现你的 HTML。标签呈现浏览器默认选择显示为下划线的锚点。 u 是唯一的下划线标签。下面的答案是 CSS 答案
具有讽刺意味的是,有人学究到足以发表此评论,但还不够学究以正确(甚至始终如一地!)拼写这个词,这让我大吃一惊。
除了下面的答案之外,还应考虑处理 a:hover,大多数流行的浏览器倾向于在悬停时在锚点上显示下划线。

A
Alexander van Oostenrijk

使用 CSS。这会从 au 元素中删除下划线:

a, u {
  text-decoration: none;
}

有时您需要覆盖元素的其他样式,在这种情况下,您可以在规则中使用 !important 修饰符:

a {
  text-decoration: none !important;
}

如果为 body 添加 color: black !important;,是否也会将所有元素(包括锚点、已访问的锚点、悬停的锚点)设置为始终为黑色?
Ωmega Δ,显然不是,多亏了你的指出,我发现整体规则中有一个错误。我已经更新了我的答案。
我发现如果您为 body 元素设置样式 text-decoration: none !important;,那么只有当您为 a 元素显式设置样式 text-decoration: inherit; 时,它才适用于锚点。
通常最好避免使用 !important 并使用特异性和基数来覆盖样式,否则您最终可能会得到一个充满 !important 的样式表,而无需了解必要的结构。这是 IMO 的代码气味。
!important 就像拥有核武器一样。但是一旦你开始并被引诱使用 !important 其他元素可能会得到它(nuke)并且优势消失了,有利于陷入僵局,这对世界来说是伟大的,因为 MUD 确保和平,但在 css 的世界中,这样的和平意味着你不能给予某些东西优势。
D
DanDan

CSS是

text-decoration: none;

text-decoration: underline;

A
Alexander van Oostenrijk

这将删除您的颜色以及锚标记存在的下划线

a {
  text-decoration: none;
}

a:hover {
  color: white;
  text-decoration: none;
  cursor: pointer;
}

s
skobaljic

最简单的选择是这样的:

<a style="text-decoration: none">No underline</a>

当然,将 CSS 与 HTML 混合(即内联 CSS)并不是一个好主意,尤其是当您到处使用 a 标记时。
这就是将其添加到样式表中的一个好主意:

a {
    text-decoration: none;
}

甚至是 JS 文件中的这段代码:

var els = document.getElementsByTagName('a');

for (var el = 0; el < els.length; el++) {
    els[el].style["text-decoration"] = "none";
}

Iphone/Android 不是很好的基准,因为它们不代表 Gmail 或 Outlook 的向后 HTML 呈现。
@XLogic:非常感谢你
A
Alexander van Oostenrijk

使用 CSS 删除 text-decoration

a {
  text-decoration: none;
}

d
djm.im

如果您只想从锚链接中删除下划线,您的最佳选择 -

#content a {
    text-decoration-line:none;
}

这将删除下划线。

此外,您也可以使用类似的语法来操作其他样式:

text-decoration: none;
text-decoration-color: blue;
text-decoration-skip: spaces;
text-decoration-style: dotted;

希望这可以帮助!

PS-这是我的第一个答案!


A
Alexander van Oostenrijk

有时它会被一些渲染 UI CSS 覆盖。更好地使用:

a.className {
  text-decoration: none !important;
}

这是一个可怕的想法。 stackoverflow.com/questions/8360190/…
A
Alexander van Oostenrijk

就我而言,锚点有一条关于悬停效果的规则,如下所示:

#content a:hover {
  border-bottom: 1px solid #333;
}

当然,text-decoration: none; 在这种情况下无能为力。我花了很多时间直到我发现它。

所以:不要将下划线与边框底部混淆。


A
Alexander van Oostenrijk

我一直在网络打印中遇到这个问题并解决了。验证结果。

a {
  text-decoration: none !important;
}

有用!


V
Vilx-

为问题提供另一个视角(从原始帖子的标题/内容推断):

如果您想追踪在 HTML 中创建恶意下划线的原因,请使用调试工具。有很多可供选择:

对于 Firefox,有 FireBug;

对于 Opera,有 Dragonfly(在工具->高级菜单中称为“开发者工具”;Opera 默认自带);

对于 IE,有“Internet Explorer Developer Toolbar”,它是 IE7 及以下版本的单独下载,并集成在 IE8 中(按 F12)。

我对 Safari、Chrome 和其他少数浏览器一无所知,但无论如何,您的机器上应该至少有上述三种浏览器中的一种。


A
Alexander van Oostenrijk

如果您只想将锚标记用作链接而不添加样式(例如悬停时的下划线或蓝色),请将 class="no-style" 添加到锚标记。然后在您的全局样式表中创建“无样式”类。

.no-style {
    text-decoration: none !important;
}

这有两个优点。

它不会影响所有锚标签,只会影响添加了“无样式”类的锚标签。它将覆盖任何其他可能阻止将 text-decoration 设置为 none 的样式。


S
Smita Kagwade

使用 css 属性,

text-decoration:none;

从链接中删除下划线。


J
JasonS

不要忘记使用链接标签包含样式表

http://www.w3schools.com/TAGS/tag_link.asp

或者将 CSS 包含在网页上的样式标签中。

<style>
  a { text-decoration:none; }
  p { text-decoration:underline; }
</style>

我不建议在除了链接之外的任何东西上使用下划线,下划线通常被认为是可点击的东西。如果它不可点击,请不要在其下划线。

可以在 w3schools 学习 CSS 基础知识


O
Oundless
<u>

是一个已弃用的标签。

利用...

<span class="underline">My text</span>

使用包含...的 CSS 文件

span.underline
{
    text-decoration: underline;
}  

要不就...

<span style="text-decoration:underline">My Text</span>

d
djm.im

下划线可以被称为文本装饰的 CSS 属性删除。

<style>
    a {
        text-decoration:none;
    }
</style>

如果要删除 a 以外的元素中存在的文本的下划线,则应使用以下语法。

<style>
    element-name{
        text-decoration:none;
    }
</style>

还有许多其他 text-decoration 值可以帮助您设计链接。