Простой способ оформления подчеркивания у однострочных ссылок
Странно, что в такой хорошей подборке не указан простой способ с использованием псевдокласса : after.
Плюсы такого способа:
+ Простота использования;
+ Широкие возможности по настройкам (позиционирование, стиль, толщина, цвет линии);
+ Работает на любом фоне;
+ Не зависит от изменения масштаба (если текст при этом остается однострочным)
Минусы:
— Не подходит для подчеркивания многострочного текста;
Возможно есть еще какие-то минусы. Буду благодарен за подсказки.
Ссылка в спане с {display: inline-block;}
Обычная ссылка
.decorated-link {
color: #337ab7;
position: relative;
text-decoration: none;
cursor: pointer;
}
.decorated-link:hover {
text-decoration: none;
color: red;
}
.decorated-link:after {
content: '';
position: absolute;
right: 0;
left: 0;
bottom: 1px;
width: 100%;
border-bottom: thin dashed rgba(51, 122, 181, 0.4);
}
.decorated-link:hover:after {
border-color: rgba(255, 0, 0, 0.3);;
}
a.decorated-link:after {
bottom: 0;
}
.inline-block {
display: inline-block;
}
Комментарии (5)
19 октября 2016 в 13:41
+1↑
↓
А зачем : after?
Можно просто использовать
border-bottom: 1 px dashed;19 октября 2016 в 14:28
0↑
↓
Можно трансформации какие-нибудь накрутить при наведении, например
19 октября 2016 в 13:51
+1↑
↓
Бывает нужно изменить позиционирование линии (сделать выше/ниже) относительно текста.19 октября 2016 в 14:31
0↑
↓
Визуальной разницы в примерах не вижу.Это так и должно быть?
19 октября 2016 в 14:48
0↑
↓
Да, так и должно быть.Значение отступа bottom для обычной ссылки и интерфейсной ссылки-кнопки (текст в элементе span) должны немного различаться, чтобы расстояние между линией и текстом было одинаковым.
Решил это указать явно, чтобы немного сэкономить время тем, кто начнет применять такое подчеркивание.