Бесплатные анимированные кнопки для сайта с использованием CSS3

Разместил / Просмотров: 23 122 / комментариев 18

Доброго времени суток, уважаемые читатели блога. В этот день мы будем создавать набор красивых иконок для сайта с помощью CSS3 и анимации. Благодаря этой кнопки Вы сможете превратить любую ссылку на странице в анимированную кнопку с простым присвоением имени класса. В общем ничего тут сложного нет как на первый взгляд.

Напоминаю, что эти кнопки являются бесплатными, и вы сможете их бесплатно скачать. Поехали.

Анимированные  CSS3 кнопки для Вашего сайта

Пример ι Скачать исходники

HTML

Чтобы кнопки заработали к ссылкам просто нужно присвоить необходимый класс например .button. Смотрите ниже:

<a href="#" class="button blue big">Скачать</a>
<a href="#" class="button blue medium">Отправить</a>
<a href="#" class="button small blue rounded">Отправить</a>

В наличии есть 4 цвета кнопок — это  синий, зеленый, оранжевый и серый. Все классы, которые были представлены выше не являются обязательными, всё зависит какую кнопку Вы захотите поставить. Например: если нужна большая и голубая кнопка, тогда к ссылке нужно присвоить класс button blue big.

Обычно имена классов выбирают так, чтобы они легко запоминались, но при этом велика вероятность того, что одни классы будут путаться с другими классами на Вашей странице.

Если данная кнопка будет выглядеть не правильно на Вашем сайте, попробуйте присвоить более уникальный класс, но в этом случае нужно будет отредактировать их и в CSS.

Ну а теперь давайте всё же посмотрим как эти кнопки делаются при помощи CSS.

CSS

Весь код кнопок находится в buttons.css. Вы с лёгкостью сможете его поместить в существующий сайт и использовать его, что существенно облегчает задачу.

Вот сам код:

.button{
    font:15px Calibri, Arial, sans-serif;

    /* Полупрозрачная тень текста */
    text-shadow:1px 1px 0 rgba(255,255,255,0.4);

    /* Подчёркиваем ссылки */
    text-decoration:none !important;
    white-space:nowrap;

    display:inline-block;
    vertical-align:baseline;
    position:relative;
    cursor:pointer;
    padding:10px 20px;

    background-repeat:no-repeat;

    background-position:bottom left;
    background-image:url('button_bg.png');

    /* Цвет фонового изображения */

    background-position:bottom left, top right, 0 0, 0 0;
    background-clip:border-box;

    /* Закругленные углы кнопок 8px */

    -moz-border-radius:8px;
    -webkit-border-radius:8px;
    border-radius:8px;

    /* Подсветка кнопки */

    -moz-box-shadow:0 0 1px #fff inset;
    -webkit-box-shadow:0 0 1px #fff inset;
    box-shadow:0 0 1px #fff inset;

    /* Анимация фонового изображения с CSS3 */
    /* В настоящее время работает только в Safari/Chrome */

    -webkit-transition:background-position 1s;
    -moz-transition:background-position 1s;
    -o-transition:background-position 1s;
    transition:background-position 1s;
}

.button:hover{

    background-position:top left;
    background-position:top left, bottom right, 0 0, 0 0;
}

Как вы видите, что каждая кнопка имеет 4 фоновых изображения, которые все одновременно применяются. Кажется тут всё пугающим, но не всё так сложно, только один файл используется с сервера — это фоновое изображение пузырей. И никакой нагрузки на сервер это не несёт.

Это фоновое изображение применяется для анимации в кнопках при наведении. Как вы заметили изображение не анимированное. Сама анимация делается только при помощи CSS3.

Теперь несколько слов о размере и скругленных углов кнопок:

/* Три размера кнопок */

.button.big        { font-size:30px;}
.button.medium    { font-size:18px;}
.button.small    { font-size:13px;}

/* Скругленные углы кнопок */

.button.rounded{
    -moz-border-radius:4em;
    -webkit-border-radius:4em;
    border-radius:4em;
}

В коде выше указаны три класса — это big, medium и small. Соответственно к каждому классу ставим разные значения в пикселях. Всё хорошо видно на коде выше.

А теперь самое интересная часть — это цвета. Тут, в принципе тоже ничего сложного нет.

/* Гоубая кнопка */

.blue.button{
    color:#0f4b6d !important;

    border:1px solid #84acc3 !important;

    /* Резервный цвет фона */
    background-color: #48b5f2;

    background-image:    url('button_bg.png'), url('button_bg.png'),
                        -moz-radial-gradient(    center bottom, circle,
                                                rgba(89,208,244,1) 0,rgba(89,208,244,0) 100px),
                        -moz-linear-gradient(#4fbbf7, #3faeeb);

    background-image:    url('button_bg.png'), url('button_bg.png'),
                        -webkit-gradient(    radial, 50% 100%, 0, 50% 100%, 100,
                                            from(rgba(89,208,244,1)), to(rgba(89,208,244,0))),
                        -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4fbbf7), to(#3faeeb));
}

.blue.button:hover{
    background-color:#63c7fe;

    background-image:    url('button_bg.png'), url('button_bg.png'),
                        -moz-radial-gradient(    center bottom, circle,
                                           rgba(109,217,250,1) 0,rgba(109,217,250,0) 100px),
                        -moz-linear-gradient(#63c7fe, #58bef7);

    background-image:    url('button_bg.png'), url('button_bg.png'),
                        -webkit-gradient(    radial, 50% 100%, 0, 50% 100%, 100,
                                            from(rgba(109,217,250,1)), to(rgba(109,217,250,0))),
                        -webkit-gradient(linear, 0% 0%, 0% 100%, from(#63c7fe), to(#58bef7));
}

Вот на этом пока что и всё. Хочу заранее предупредить, что в настоящее время, возможно кнопки не будут работать в некоторых браузерах, потому что, ещё пока, не все они поддерживают CSS3. Но мне кажется, что эта проблема скоро решится.

Пример ι Скачать исходники

До скорых встреч, друзья.