По умолчанию ссылка выделяется среди прочего текста не совсем привлекательным для глаза темно-синим цветом с простым подчеркиванием. При помощи магии CSS стилей её оформление можно значительно преобразить, добавив анимационный эффект при наведении курсора.
4 примера анимированного выделения ссылки при наведении курсора
Ехал Древнегрека через реку,
Видит Древнегрека - в реке рак.
Сунул руку Древнегрека в реку,
Рак за руку
Древнегрека цап!
HTML разметка всех примеров
В первых двух примерах за основу взята обычная анкорная ссылка, ничего более... В третьем и четвертом примерах используется атрибут
/* Разметка первых двух примеров */ <a href="#">1 и 2 пример</a> /* Разметка третьего примера */ <a href="#" data-hover="3 пример">3 пример</a> /* Разметка четвертого примера */ <a href="#"> <span data-hover="4 пример">4 пример</span></a>
CSS стили примера №1
a { line-height: 1; display: inline-block; text-decoration: none; color: #118EC7; } a:after { height: 2px; /* Толщина линии подчеркивания */ display: block; content: ""; background-color: #118EC7; /* Цвет линии подчеркивания */ margin-top: 2px; width: 0; transition: width .2s ease-in-out; /* Скорость появления/исчезновения линии */ } a:hover:after, a:focus:after {width: 100%;}
CSS стили примера №2
Пример немного сложнее предыдущего из-за использования не одной, а сразу двух линий, которые будут разъезжаться от середины нижней части элемента к его краям.
a { display: inline-block; position: relative; text-decoration: none; color: #118EC7;} a::before { display: block; position: absolute; width: 0; content: ""; height: 2px; /* Толщина левой линии подчеркивания*/ background-color: #FF002F; /* Цвет левой линии подчеркивания */ /* Скорость появления/исчезновения левой линии */ transition: width .2s ease-in-out, left .2s ease-in-out; left: 50%; bottom: 0; } a::after { display: block; position: absolute; width: 0; content: ""; height: 2px; /* Толщина правой линии подчеркивания*/ background-color: #118EC7; /* Цвет правой линии подчеркивания */ transition: width .2s ease-in-out; /* Скорость появления/исчезновения правой линии */ left: 50%; bottom: 0; } a:hover::before { width:50%; left:0; } a:hover::after { width:50%; }
CSS стили примера №3
a { text-decoration: none; color: #118EC7;} a:hover { text-decoration: none; } a:hover:before { -webkit-transform: scale(1) translateX(0px) translateY(0px) rotate(0deg); -moz-transform: scale(1) translateX(0px) translateY(0px) rotate(0deg); transform: scale(1) translateX(0px) translateY(0px) rotate(0deg); opacity: 1; } a:before { color: #343434; /* Цвет "прилетающего" текста */ position: absolute; opacity: 0; content: attr(data-hover); /* Определяет "прилетающий" текст */ -webkit-transform: scale(1.1) translateX(10px) translateY(-10px) rotate(4deg); -moz-transform: scale(1.1) translateX(10px) translateY(-10px) rotate(4deg); transform: scale(1.1) translateX(10px) translateY(-10px) rotate(4deg); /* Скорость появления/исчезновения "прилетающего" текста */ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; -moz-transition: -moz-transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; pointer-events: none; }
CSS стили примера №4
a { overflow: hidden; vertical-align: bottom; display: inline-block; position: relative; text-decoration: none; } a span { position: relative; display: inline-block; /* Скорость появления/исчезновения "выезжающего" текста */ -webkit-transition: -webkit-transform 0.3s; -moz-transition: -moz-transform 0.3s; transition: transform 0.3s; } a span:before { position: absolute; width: 100%; color: #343434; /* Цвет "выезжающего" текста */ left: 0; top: 100%; content: attr(data-hover); /* Определяет "выезжающий" текст */ -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } a:hover span { -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); transform: translateY(-100%); }
Комментарии