Вдохновленные плоским стилем векторных значков на vector4free, которые вы можете скачать бесплатно, мы решили попробовать реализовать эффект заполнения кнопки другим цветом при наведении.
Идея
Идея в том, чтобы сделать двухслойную кнопку, слоя которой отличаются лишь цветом. Мы будем использовать псевдо-элемент :after с содержанием, переданным через дата-атрибут.
Идея в том, чтобы сделать двухслойную кнопку, слоя которой отличаются лишь цветом. Мы будем использовать псевдо-элемент :after с содержанием, переданным через дата-атрибут.

HTML
Давайте начнем с разметки. Обратите внимание, что мы добавляем атрибут data-title к ссылке, значение которого – текст ссылки.
<a class="button" href="#" data-title="Скачать">
<span>
<span>Скачать</span>
</span>
</a>CSS
Отметим, что для краткости в коде ниже префиксы браузеров опущены.
.button {
display: block;
position: relative;
height: 3.4em;
width: 10em;
margin: .7em auto;
overflow: hidden; }
.button > span {
display: block;
position: absolute;
overflow: hidden;
left: 0;
top: 0;
width: 0%;
height: 100%;
transition: 1s ease-in-out; }
/*.button:after and .button >
span > span are identical except for the inverted colors*/
.button:after, .button > span > span {
display: block;
text-align: center;
border-radius: 0.625em;
padding: 1em 0; }
.button:after {
content: attr(data-title);
width: 100%;
background: #4186b2;
color: #67d6c1; }
.button > span > span {
width: 10em;
background: #67d6c1;
color: #4186b2; }
/* what happens on hover */
.button:hover > span {
width: 100%; }Так мы сделали горизонтальное заполнение кнопки другим цветом. Для вертикального заполнения, надо поменять значения некоторых свойств в предыдущем коде на следующие:
.button > span {
..
width: 100%;
height: 0%;
.. }
.button:hover > span {
height: 100%; }Это все.
Высоких конверсий!





