Monday, 06 August 2012 17:43

Социальные кнопки на CSS3

Шаг 1: HTML разметка

Разметка здесь очень простая и требует всего лишь нескольких строк кода.

Для нашего основного класса, мы будем использовать .container. Мы используем его, чтобы поместить кнопку в центре нашего холста.

Далее мы будем использовать диапазон, чтобы обернуть нашу кнопку и использовать класс. Кнопку, чтобы создать некоторый интервал использования маржи в нашем файле CSS. Наконец, мы просто добавить ссылку, иконки и текст.

<div class="container">
    <span class="button fb">
        <a href="#"><img src="http://d3pr5r64n04s3o.cloudfront.net/167_QuickTip_CSS3Buttons/images/fb.gif" alt="" />Like It</a>
    </span>
 
    <span class="button twit">
        <a href="#"><img src="http://d3pr5r64n04s3o.cloudfront.net/167_QuickTip_CSS3Buttons/images/tweet.gif" alt="" />Tweet It</a>
    </span>
 
    <span class="button mail">
        <a href="#"><img src="http://d3pr5r64n04s3o.cloudfront.net/167_QuickTip_CSS3Buttons/images/mail.gif" alt="" />Email</a>
    </span>
</div>

Вот и все, что нужно для разметки HTML, теперь вы должны иметь что-то вроде этого ...

1

Шаг 2: Создаем стили!

Первое, что мы собираемся добавить, приятный синий фон гравий, который можно найти в исходных файлах внизу. Затем мы поместим на наш цвет ссылки и стиль контейнера в центре нашей кнопки на холст с помощью margin: 0 auto.

body{
    background: url(../images/bg.jpg) repeat 0 0;
}
 
a{
    text-decoration: none;
    color:#333333;
}
 
.container{
    width: 420px;
    margin: 10% auto 0; /* buttons pushed from the top by 10% */
}

Теперь давайте создадим некоторое расстояние между кнопками, как то так ...

.button{
    margin: 8px;
}

Создав хороший градиент и тени окна, мы можем сделать кнопки более интерактивными. Затем мы добавим некоторое дополнение к верхней, нижней и боковой кнопке чтобы было гораздо легче читать.

.button a{
    font-family:font-family: 'Arvo', arial, serif;;
    font-size:16px;
    background: #ffffff; /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #dfdfdf 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#dfdfdf)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #ffffff 0%,#dfdfdf 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #ffffff 0%,#dfdfdf 100%); /* Opera11.10+ */
    background: -ms-linear-gradient(top, #ffffff 0%,#dfdfdf 100%); /* IE10+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#dfdfdf',GradientType=0 ); /* IE6-9 */
    background: linear-gradient(top, #ffffff 0%,#dfdfdf 100%); /* W3C */
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 3px 4px -1px #464646;
    -webkit-box-shadow: 0 3px 4px -1px #464646;
    box-shadow: 0 3px 4px -1px #464646;
    padding: 6px 12px;
}

Идем дальше, выравниваем кнопки немного, чтобы они выглядели наполовину нажатыми с помощью :hover селектора. Мы будем также использовать стиль :focus.

.button a:hover, .button a:focus{
    background: #dfdfdf; /* Old browsers */
    background: -moz-linear-gradient(top, #dfdfdf 0%, #ffffff 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dfdfdf), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #dfdfdf 0%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #dfdfdf 0%,#ffffff 100%); /* Opera11.10+ */
    background: -ms-linear-gradient(top, #dfdfdf 0%,#ffffff 100%); /* IE10+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dfdfdf', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
    background: linear-gradient(top, #dfdfdf 0%,#ffffff 100%); /* W3C */
    -moz-box-shadow: 0 1px 1px 0 #666666;
    -webkit-box-shadow: 0 1px 1px 0 #666666;
    box-shadow: 0 1px 1px 0 #666666;
}

Кнопка справа показывает, что при наведении мы должны получить.

2

После создания эффектов при наведении, мы добавим немного вставки на кнопки, когда пользователь щелкает мышью. В этой технике мы должны использовать две тени.

.button a:focus{
    -moz-box-shadow: 2px 3px 2px -1px #464646 inset, 0 1px 1px 0 #666666;
    -webkit-box-shadow: 2px 3px 2px -1px #464646 inset, 0 1px 1px 0 #666666;
    box-shadow: 2px 3px 2px -1px #464646 inset, 0 1px 1px 0 #666666;
}

На этом этапе вы должны получить что-то похожее на изображение ниже.

3

Наконец мы добавим padding между иконками и текстом кнопки.

.button a > img{
    padding-right: 8px;
    position: relative;
    top: 2px;
}

У вас должно получиться что-то вроде этого ...

4

Отличная работа! Вы создали несколько действительно прикольных CSS3 кнопок.

download

Прочитано 3141 раз