首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery或CSS在悬停时给列表中的锚定标记的第一个字母加下划线

使用jQuery或CSS在悬停时给列表中的锚定标记的第一个字母加下划线
EN

Stack Overflow用户
提问于 2011-05-19 03:27:23
回答 6查看 6.1K关注 0票数 4

我正在尝试为列表中的每个项目在悬停时的链接的第一个字母加下划线。我已经尝试过CSS first_letter选择器,但它所做的一切都是在第一项的第一个字母下划线。

列表如下:

代码语言:javascript
复制
<ul class="list">
   <li><a class="underline" href="Lingua%20Franca.html">Lingua Franca</a></li>
   <li><a class="underline" href="Within%20Within.html">Within Within</a></li>
   <li><a class="underline" href="Kind%20Pockets.html">Kind Pockets</a></li>
</ul>

我已经尝试过这个和它的许多变体:

代码语言:javascript
复制
a.underline:hover:first-letter{
  text-decoration: underline;
}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-19 04:01:19

如果要使用jQuery执行此操作,只要锚点的内容不复杂,就可以执行此操作

http://jsfiddle.net/rEcx7/1/

代码语言:javascript
复制
$(function(){
    $("#stuff li a").hover(function(){
        var thisHtml=$(this).html();

        $(this).html("<span style='text-decoration: underline;'>"+thisHtml.substring(0,1)+"</span>"+thisHtml.substring(1));
    },function(){
       $(this).find("span").contents().unwrap();
    }); 
});
票数 4
EN

Stack Overflow用户

发布于 2011-05-19 03:44:33

嗯,::first-letter是一个伪元素,而不是伪类,所以它需要两个冒号:

http://www.w3.org/TR/css3-selectors/#first-letter

然而,我启动了playing around in JSFiddle in Chrome,似乎在同时使用它们时出现了问题。甚至在分解锚元素和它的默认下划线之前,我就用普通的LIs尝试过了(它们没有链接):

代码语言:javascript
复制
li::first-letter:hover {
 text-decoration: underline;   
}

代码语言:javascript
复制
li::first-letter:hover {
 text-decoration: underline;   
}

它们都不起作用,尽管

代码语言:javascript
复制
li::first-letter {
 text-decoration: underline;   
}

确实行得通。

您可能只需要使用自定义类将前几个字母包装在span中,而不是依赖于::first-letter

票数 6
EN

Stack Overflow用户

发布于 2011-05-19 04:08:17

这是一个纯CSS解决方案,可以在webkit浏览器中使用,比如Chrome和Safari。

http://jsfiddle.net/mqchen/cQCSp/

经过一些尝试,我终于得到了一个在Firefox4中也可以工作的纯CSS解决方案:

http://jsfiddle.net/mqchen/cQCSp/3/

CSS:

代码语言:javascript
复制
.list a.underline {
    display: block;
    text-decoration: none;
}
.list li .underline:first-letter {
    text-decoration: underline;
}
.list li:not(:hover) .underline:first-letter {
    text-decoration: none;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6050004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档