2014-01-05 3 views
1

Демонстрации: http://jsfiddle.net/DerekL/85LNE/Предотвратить стиль от применения к :: после

Прямо сейчас я следующий стиль CSS применяется к ссылкам, чтобы добавить разделители:

div > a{ 
    color: #2679c1; 
    text-decoration: none; 
} 
div > a:hover{ 
    color: #3096fb; 
    text-decoration: underline; 
} 
div > a:not(:last-child)::after{ 
    content: ' ‧ '; 
} 

Это работает, однако, когда я зависать по ссылке, разделитель также подчеркивается. Я надеялся, добавив следующее правило было бы решить эту проблему, но она, очевидно, не имеет никакого эффекта:

div > a:not(:last-child):hover::after{ 
    text-decoration: none; 
} 

Любые решения? (Я не хочу, чтобы обернуть содержание с <span>, потому что поражения цели с помощью CSS, чтобы упростить процесс добавления разделителей.)

+0

Вы не хотите подчеркивать ни одну из ссылок или только последнюю? –

+1

@AliGajani, он не хочет, чтобы эффект подчеркивания был унаследован псевдоэлементами ':: after'. – BenM

ответ

3

JSFIDDLE

enter image description here

Try добавления display:inline-block; на ваш a:not(:last-child)::after.

Вы можете добавить white-space: pre-wrap;, чтобы сделать так, чтобы . были замечены в том же пробеге.

a:not(:last-child)::after { 
    content: ' ‧ '; 
    display:inline-block; 
    white-space: pre-wrap; 
} 
+0

Этот ответ решает, почему нисходящий? –

+0

Я изменил свой ответ, ожидая его возвращения и голосования. –

+0

A/w +1 от меня было любопытно, как его решить, встроенный блок проскользнул у меня –

Смежные вопросы