В настоящее время использование тонких узоров — это круто, поэтому я подумал, почему бы не использовать их также на кнопках? Идея заключалась в том, чтобы создать несколько симпатичных кнопок с рисунком CSS3, и в этой статье вы увидите, над чем я работал в последнее время.
Этот проект немного особенный для меня, так как он довольно новый для GitHub , мой первый коммит был связан с этими шаблонными кнопками CSS3.
Я писал ранее о кнопках CSS3, поэтому вы можете проверить также эти статьи:
CSS3 узорные кнопки
- Легко использовать.
- Содержат переходы по взлому градиентов .
- Как и следовало ожидать, здесь не используются изображения. Вместо этого строка base64 используется для создания узорного эффекта.
- Стилизованное сжатое поведение при группировании.
Кнопки
По сути, для создания кнопки единственное, что вам нужно сделать, это:
<a href="" class="button">Button</a>
или же
<button class="large button">Button</button>
Вы также можете использовать что-то вроде <input type = «submit»>, но для лучшего кроссбраузерного рендеринга просто придерживайтесь приведенного выше.
CSS
.button{ display: inline-block; *display: inline; zoom: 1; padding: 6px 20px; margin: 0; cursor: pointer; border: 1px solid #bbb; overflow: visible; font: bold 13px arial, helvetica, sans-serif; text-decoration: none; white-space: nowrap; color: #555; background-color: #ddd; background-image: linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0)), url(data:image/png;base64,iVBORw0KGg[...]QmCC); transition: background-color .2s ease-out; background-clip: padding-box; /* Fix bleeding */ border-radius: 3px; box-shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 2px 2px -1px rgba(0, 0, 0, .5), 0 1px 0 rgba(255, 255, 255, .3) inset; text-shadow: 0 1px 0 rgba(255,255,255, .9); } .button:hover{ background-color: #eee; color: #555; } .button:active{ background: #e9e9e9; position: relative; top: 1px; text-shadow: none; box-shadow: 0 1px 1px rgba(0, 0, 0, .3) inset; }
Разные размеры кнопок
Если вы хотите сделать более заметную или менее заметную кнопку призыва к действию, у вас есть варианты:
<button class="small button">Button</button>
или же
<button class="large button">Button</button>
CSS
/* Smaller buttons styles */ .button.small{ padding: 4px 12px; } /* Larger buttons styles */ .button.large{ padding: 12px 30px; text-transform: uppercase; } .button.large:active{ top: 2px; }
Различные цвета кнопок
Вам понадобятся пользовательские цвета для успешных действий или отрицательные , как удалить:
<button class="button">Button</button> <button class="color red button">Button</button> <button class="color green button">Button</button> <button class="color blue button">Button</button>
CSS
.button.color{ color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,.2); background-image: linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0)), url(data:image/png;base64,iVBORw0KGg[...]QmCC); } /* */ .button.green{ background-color: #57a957; border-color: #57a957; } .button.green:hover{ background-color: #62c462; } .button.green:active{ background: #57a957; } /* */ .button.red{ background-color: #c43c35; border-color: #c43c35; } .button.red:hover{ background-color: #ee5f5b; } .button.red:active{ background: #c43c35; } /* */ .button.blue{ background-color: #269CE9; border-color: #269CE9; } .button.blue:hover{ background-color: #70B9E8; } .button.blue:active{ background: #269CE9; }
Отключенные государства
Если вы используете кнопки или входы, в некоторых случаях вам потребуется отключить их, пока не будет запущена определенная задача:
<button class="button" disabled>Button</button> <button class="color red button" disabled>Button</button> <button class="color green button" disabled>Button</button> <button class="color blue button" disabled>Button</button>
CSS
.button[disabled], .button[disabled]:hover, .button[disabled]:active{ border-color: #eaeaea; background: #fafafa; cursor: default; position: static; color: #999; /* Usually, !important should be avoided but here it's really needed 🙂 */ box-shadow: none !important; text-shadow: none !important; } .green[disabled], .green[disabled]:hover, .green[disabled]:active{ border-color: #57A957; background: #57A957; color: #D2FFD2; } .red[disabled], .red[disabled]:hover, .red[disabled]:active{ border-color: #C43C35; background: #C43C35; color: #FFD3D3; } .blue[disabled], .blue[disabled]:hover, .blue[disabled]:active{ border-color: #269CE9; background: #269CE9; color: #93D5FF; }
Сгруппированные кнопки
Будут случаи, когда вам нужно будет сгруппировать аналогичные кнопки призыва к действию:
<ul class="button-group"> <li><button class="button">Button</button></li> <li><button class="button">Button</button></li> <li><button class="button">Button</button></li> <li><button class="button">Button</button></li> </ul>
CSS
.button-group, .button-group li{ display: inline-block; *display: inline; zoom: 1; } .button-group{ font-size: 0; /* Inline block elements gap - fix */ margin: 0; padding: 0; background: rgba(0, 0, 0, .04); border-bottom: 1px solid rgba(0, 0, 0, .07); padding: 7px; border-radius: 7px; } .button-group li{ margin-right: -1px; /* Overlap each right button border */ } .button-group .button{ font-size: 13px; /* Set the font size, different from inherited 0 */ border-radius: 0; } .button-group .button:active{ box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; } .button-group li:first-child .button{ border-radius: 3px 0 0 3px; } .button-group li:first-child .button:active{ box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; } .button-group li:last-child .button{ border-radius: 0 3px 3px 0; } .button-group li:last-child .button:active{ box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset; }
Совместимость браузера
Шаблонные кнопки CSS3 работают во всех основных браузерах. Но, конечно, функции CSS3, используемые здесь, не работают в браузерах, таких как IE8 и ниже.
Это оно!
В дикой природе так много кнопок CSS3, и я это знаю. Тем не менее, я уверен, что мои кнопки с рисунком CSS3 могут вдохновить вас, и я надеюсь, что вы найдете это полезным для ваших будущих проектов.
Если вы нашли ошибку или у вас есть предложения, не забудьте заполнить вопрос на GitHub .