html - 如何在对子 <span> 应用一些定位时防止 <a> "text-decoration: underline"中断?

标签 html css underline text-decorations

由于下面解释的原因,我在 <span> 上使用相对定位里面<a>为了稍微改变用 <span> 包裹的文本的位置(将其放置在比自动放置高 2px 的位置)。当我这样做时,很明显,text-decoration: underline;坏了,低于我的<span>它也开始高出 2px。请看 fiddle :http://jsfiddle.net/8qL934xv/

我想知道,是否有办法制作 <a>下划线在 <span> 下方运行同样,完整且最好仅使用 HTML/CSS。

我是如何遇到这个问题的:

我正在建立一个双语网站,有时英语单词仍然是第二语言内容。在这些情况下,我用 <span lang="en"> 包装这些词并以这种方式应用相应的字体系列:

* [lang="en"]
{
    font-family: 'Ropa Sans', helvetica;
}

但是,我用于次要语言标题的字体系列和“Ropa Sans”彼此相邻时看起来不太好,它们看起来好像“不坐在”同一行上。为了解决这个问题,我一直在我的 <span> 上使用相对定位。 -s。例如:

h1 span {
   position: relative;
   top: -2px;
}

这个解决方案工作得很好,直到我意识到它在应用于链接时会弄乱下划线。我可以避免在此类链接上使用文本装饰,但我更想知道是否有一些我无法识别的简单 CSS 解决方案。

最佳答案

这是不可能的,但你可以这样做

a {
    display: block;
    border-bottom: 1px solid transparent;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    border-bottom: 1px solid blue;
    display: inline-block;
}

这有效。

关于html - 如何在对子 <span> 应用一些定位时防止 <a> "text-decoration: underline"中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27821372/

相关文章:

javascript - 检查没有值的 HTML5 数据属性

html - 居中图像和文本向左插入图像

css - 如何在 Bootstrap 中将 div 位置从相对设置为固定

javascript - 为什么有些 slider 会发出红光?

css - 在输入占位符中为单个字母下划线

javascript - 内联 block 元素的纯 javascript 水平选取框

javascript - 如何删除 HTML jQuery JavaScript 中不需要的字符

javascript - 使整个 div(包括文本)可点击

css - 悬停时粗下划线

html - 如何在不使用颜色属性的情况下更改文本的颜色? (HTML 和 CSS)