Font Awesome icons have text-decoration issues inside links
当我在文本前面放置图标链接(链接内的图标)时,字体真棒存在"丑陋"的问题。 通过将图标悬停,图标本身将不会带有下划线,但会以某种方式在文本和图标之间留出空间。
链接中的文本修饰css规则(在悬停时加下划线)以某种方式与来自这个奇怪显示空间中的图标的规则冲突。
如何摆脱空间中的下划线并且最终根本没有装饰?
(在可能的情况下,无需将类添加到link元素或使用JS)
这是一个可以帮助您的代码段。
1 2 3 4 5 6 | a { text-decoration: none; } a:hover { text-decoration: underline; } |
1 2 3 4 5 6 | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/> <i class="fa fa-wrench"> Text of Title |
小提琴:https://jsfiddle.net/kg6zdxu5/
显然,如果您将
代码段:
1 2 3 4 5 6 | a { text-decoration: none; } a:hover { text-decoration: underline; } |
1 2 3 4 | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" /> <i class="fa fa-wrench"> Text of Title |
编辑:
通常,最好不要更改元素的默认显示值,但是在这里您可以在
1 2 3 4 5 6 7 8 9 | a { text-decoration: none; } a:hover { text-decoration: underline; } h1 > a { display: inline-block; } |
1 2 3 4 5 6 | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" /> <i class="fa fa-wrench"> Text of Title |
不一定与问题相关,但我不久前就停止使用图标字体,而采用了SVG图标,我认为这样会更好。
这是一篇有关进行切换的好文章,而这是另一篇有关如何使用它们的文章。
演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | a { text-decoration: none; } a:hover { text-decoration: underline; } h1 > a { display: inline-block; color: purple; } .icon { display: inline-block; width: 1em; height: 1em; stroke-width: 0; stroke: currentColor; fill: currentColor; } .icon-wrench { width: 0.939453125em; } |
1 2 3 4 5 6 7 8 9 10 11 12 | <svg class="icon icon-wrench"> <use xlink:href="#icon-wrench"></use> </svg> Text of Title <svg style="display:none;"> <symbol id="icon-wrench" viewBox="0 0 30 32"> wrench <path class="path1" d="M6.857 26.286q0-0.464-0.339-0.804t-0.804-0.339-0.804 0.339-0.339 0.804 0.339 0.804 0.804 0.339 0.804-0.339 0.339-0.804zM18.357 18.786l-12.179 12.179q-0.661 0.661-1.607 0.661-0.929 0-1.625-0.661l-1.893-1.929q-0.679-0.643-0.679-1.607 0-0.946 0.679-1.625l12.161-12.161q0.696 1.75 2.045 3.098t3.098 2.045zM29.679 11.018q0 0.696-0.411 1.893-0.839 2.393-2.938 3.884t-4.616 1.491q-3.304 0-5.652-2.348t-2.348-5.652 2.348-5.652 5.652-2.348q1.036 0 2.17 0.295t1.92 0.83q0.286 0.196 0.286 0.5t-0.286 0.5l-5.232 3.018v4l3.446 1.911q0.089-0.054 1.411-0.866t2.42-1.446 1.259-0.634q0.268 0 0.42 0.179t0.152 0.446z"></path> </symbol> </svg> |
如果我对您的理解正确,则希望删除不必要的下划线并在图标下添加该下划线。
只需删除
1 2 3 4 5 6 | a { text-decoration: none; } .fa-wrench:hover { text-decoration: underline; } |
1 2 3 4 5 6 | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/> <i class="fa fa-wrench"> Text of Title |
只需删除
1 2 3 4 5 6 7 8 9 | h1 { font-size:2.5em; } a { text-decoration: none; } .fa-wrench:hover{ text-decoration: underline; } |
1 2 3 4 5 6 7 | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/> <i class="fa fa-wrench"> Test Title |
1 2 3 4 5 6 | a { text-decoration: none; } a:hover { text-decoration: underline; } |
1 2 3 4 5 6 | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/> <i class="fa fa-wrench"> Text of Title |