Удалить подчеркивание только из дочернего элемента anchor

когда a тег содержит дочерние элементы, как i тег, он все еще применяет подчеркивание к нему при наведении, и мне интересно, Как удалить подчеркивание только из i тег, когда кто-то парит над a тег.

CSS, с которым я работаю:

a{
    display:block;
    text-decoration:none;
}
a i{
  color:#888;
  margin-left:5px;
}
a:hover{
    text-decoration:underline;
}
a:hover i{
    text-decoration:none !important;
}

вот скрипка, чтобы объяснить: http://jsfiddle.net/kkz66x2q/

Я просто хотел бы, чтобы подчеркивание исчезло только на i элемент при наведении по ссылке.

6 ответов


попробуйте следовать css,

a:hover i{
    display: inline-block; <-- this is the trick
    text-decoration:none !important;
}

демо


установить display собственность i to inline-block:

a i {
    ...
    display: inline-block;
}

JSFiddle


У меня была та же проблема, и я исправил это, используя следующее правило css:

a:-webkit-any-link {text-decoration:none}

надеюсь, что это помогает!


просто добавить display:inline-block;

СКРИПКА ДЕМО

a:hover i {
    display:inline-block;
    text-decoration:none !important;
}

вы также можете написать вам HTML, как

    <a href="#">Link</a><i>(2)</i>

и CSS как

  a{
    display:inline-block;
    text-decoration:none;
  }

у меня есть две вещи, чтобы добавить здесь...

использование кода иногда в качестве дочернего элемента (обычного встроенного) якоря, иногда нет:

  code
    font-family: Courier New, Courier, monospace
    color: green
    background: rgba( white, .2 )
    padding: 2px 4px
    text-decoration: none

  a code
    display: inline-block
    line-height: normal
    text-decoration: underline
  1. вы должны добавить line-height: normal чтобы компенсировать встроенный блок, в противном случае вы будете иметь разные прокладки на связанных элементах, чем на других. (т. е. ваша высота линии легко начнет выглядеть непоследовательно)

  2. и необязательно: если вы просто раздражены, что подчеркивание имеет разные цвета (т. е. внешний цвет ссылки, а не зеленый code) настройки текстового оформления один раз снова на этом внутреннем элементе помогает...

enter image description here