Я хотел бы создать ссылки с иконками, включенными в ссылку.
Например, взять измененную версию ссылок chat / meta / faq из переполнения стека.
Вот одна попытка .
HTML
<div id='clickable'>
<a href="#chat">
<div class='so-icon'></div>
chat
</a>
...
</div>
CSS
#clickable div {
display:inline-block;
vertical-align: middle;
}
.so-icon {
background-image:url(http://www.madhur.co.in/images/icon_stackoverflow3.png);
width: 30px;
height: 30px;
}
a {
text-decoration: none;
margin-right: 10px;
}
a:hover {
text-decoration: underline;
}
Одна проблемас этим дизайном подчеркивание (наведите курсор на ссылку, чтобы увидеть) появляется не только на тексте ссылки, но и на некоторых пробелах до этого.
ПараЯ могу придумать следующие решения:
- Наличие двух отдельных
<a>
элементов, одного для значка и одного для текста.Нарушает DRY . - Не использует элементы вообще, а использует javascript для реализации функциональности ссылки, одновременно стилизуя элементы icon и text / span отдельно.
Разве это не то, что должно быть возможно выполнить только с использованием CSS и без необходимости прибегать к javascript?