Статьи

Создание удивительных практических кнопок CSS3

Дважды в месяц мы возвращаемся к любимым постам наших читателей на протяжении всей истории Nettuts +. Этот учебник был впервые опубликован в мае 2010 года .

То, что раньше требовалось для фоновых изображений и значков, теперь можно создавать с помощью простого старого CSS. Поскольку современные браузеры имеют доступ к таким вещам, как тени от ящиков, градиенты, закругленные углы, тени для текста и шрифт, мы наконец-то можем воспользоваться этим и устранить любые потребности в изображениях при создании визуальных элементов, таких как кнопки! Я покажу вам, как в сегодняшнем видеоуроке.



01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<!DOCTYPE html>
 
<html lang=»en»>
<head>
    <meta charset=»utf-8″>
    <title>CSS3 Buttons</title>
    <style>
     
    /* CUSTOM FONT */
    @font-face {
        font-family: ‘EfonRegular’;
        src: url(‘font/EFON-webfont.eot’);
        src: local(‘EfonRegular’), url(‘font/EFON-webfont.woff’) format(‘woff’), url(‘font/EFON-webfont.ttf’) format(‘truetype’), url(‘font/EFON-webfont.svg#webfont’) format(‘svg’);
        font-weight: normal;
        font-style: normal;
    }
     
    body {
     width: 400px;
     margin: 200px auto;
     background: #666;
    }
 
    .button {
     width: 400px;
     height: 100px;
     line-height: 100px;
     color: white;
     text-decoration: none;
     font-size: 50px;
     font-family: helvetica, arial;
     font-weight: bold;
     display: block;
     text-align: center;
     position: relative;
 
     /* BACKGROUND GRADIENTS */
     background: #014464;
     background: -moz-linear-gradient(top, #0D658E, #0C577A 50%, #014D71 51%, #003E5C);
     background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #0E658E), color-stop(.5, #0C577A), color-stop(.5, #014D71), to(#003E5C));
 
 
     /* BORDER RADIUS */
     -moz-border-radius: 10px;
     -webkit-border-radius: 10px;
     border-radius: 10px;
 
     border: 1px solid #368DBE;
     border-top: 1px solid #c3d6df;
 
 
     /* TEXT SHADOW */
 
     text-shadow: 1px 1px 1px black;
 
     /* BOX SHADOW */
     -moz-box-shadow: 0 1px 3px black;
     -webkit-box-shadow: 0 1px 3px black;
     box-shadow: 0 1px 3px black;
    }
     
    /* WHILE HOVERED */
    .button:hover {
        background: #014464;
        background: -moz-linear-gradient(top, #0c5f85, #0b5273 50%, #024869 51%, #003853);
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #0c5f85), color-stop(.5, #0b5273), color-stop(.51, #024869), to(#003853));
    }
     
    /* WHILE BEING CLICKED */
    .button:active {
        -moz-box-shadow: 0 2px 6px black;
        -webkit-box-shadow: 0 2px 6px black;
    }
    /* FONT GLYPH (MOSTLY FOR FUN) */
    .button:before {
        font-family: EfonRegular;
        content: ‘v’;
        color: #09232F;
        font-size: 90px;
        float: left;
        margin-left: 35px;
        margin-right: -10px;
        text-shadow: 0 1px 0 #4190AF;
    }
     
    </style>
</head>
<body>
     <a href=»#» class=»button»> Follow Me </a>
</body>
</html>

кнопка

Правда в том, что было бы разумнее использовать крошечное изображение для иконки Twitter-птицы. Но цель состояла в том, чтобы достичь этого эффекта с помощью всего CSS! Как вы думаете?