CSS кнопки

Благодаря возможностям CSS мы можем настроить стиль кнопок практически как угодно.


Базовые стили кнопок

 

Пример


.button {
  background-color: #4CAF50; /* Зеленый цвет */
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
}

Попробовать самому »

Цвет кнопки

         

При помощи свойства background-color мы можем изменять фоновый цвет кнопки:

Пример


.button1 {background-color: #4CAF50;} /* Зеленый */
.button2 {background-color: #008CBA;} /* Синий */
.button3 {background-color: #f44336;} /* Красный */
.button4 {background-color: #e7e7e7; color: black;} /* Серый */
.button5 {background-color: #555555;} /* Черный */

Попробовать самому »

Размер кнопки

         

При помощи свойства font-size мы можем изменять размер шрифта кнопки:

Пример


.button1 {font-size: 10px;}
.button2 {font-size: 12px;}
.button3 {font-size: 16px;}
.button4 {font-size: 20px;}
.button5 {font-size: 24px;}

Попробовать самому »

При помощи свойства padding мы можем изменять размер внутреннего отступа кнопки:

         

Пример


.button1 {padding: 10px 24px;}
.button2 {padding: 12px 28px;}
.button3 {padding: 14px 40px;}
.button4 {padding: 32px 16px;}
.button5 {padding: 16px;}

Попробовать самому »

Кнопки с закругленными углами

         

При помощи свойства border-radius мы можем добавлять закругленные углы кнопки:

Пример


.button1 {border-radius: 2px;}
.button2 {border-radius: 4px;}
.button3 {border-radius: 8px;}
.button4 {border-radius: 12px;}
.button5 {border-radius: 50%;}

Попробовать самому »

Цветные границы кнопки

         

При помощи свойства border мы можем добавлять цветные границы кнопки:

Пример


.button1 {
  background-color: white;
  color: black;
  border: 2px solid #4CAF50; /* Зеленый */
}
...

Попробовать самому »

Кнопки с эффектом при наведении мыши

         

При помощи селектора :hover мы можем изменять стили кнопки при наведении на нее мыши.

Совет: Используйте свойство transition-duration, чтобы задать скорость эффекта "наведения".

Пример


.button {
  transition-duration: 0.4s;
}

.button:hover {
  background-color: #4CAF50; /* Зеленый */
  color: white;
}
...

Попробовать самому »

Кнопки с тенью

   

При помощи свойства box-shadow мы можем добавить тень к кнопке:

Пример


.button1 {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}

.button2:hover {
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}

Попробовать самому »

Отключенные кнопки

   

При помощи свойства opacity мы можем добавить прозрачность к кнопке (придать "отключенный" вид).

Совет: Вы также можете использовать свойство cursor со значением "not-allowed", чтобы при наведении мыши курсор менял форму на перечеркнутый круг:

Пример


.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

Попробовать самому »

Ширина кнопки



По умолчанию ширина кнопки определяется шириной ее текстового контента. При помощи свойства width мы можем изменять ширину кнопки:

Пример


.button1 {width: 250px;}
.button2 {width: 50%;}
.button3 {width: 100%;}

Попробовать самому »

Группа кнопок

Удалите отступы (margin: 0) и добавьте float: left к каждой кнопке, чтобы создать группу кнопок:

Пример


.button {
  margin: 0;
  float: left;
}

Попробовать самому »

Группа кнопок с рамкой

Используйте свойство border, чтобы создать группу кнопок с рамкой:

Пример


.button {
  float: left;
  border: 1px solid green;
}

Попробовать самому »

Вертикальная группа кнопок

Используйте display: block вместо float: left, чтобы расположить кнопки друг под другом, а не рядом друг с другом:

Пример


.button {
  display: block;
}

Попробовать самому »

Кнопка поверх изображения

Снег

Пример


<div class="container">
  <img src="//msiter.ru/img_lights.jpg" alt="Снег">
  <button class="btn">Кнопка</button>
</div>


.container {
  position: relative;
  width: 100%;
  max-width: 400px;
}

.container img {
  width: 100%;
  height: auto;
}

.container .btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color: #f1f1f1;
  color: black;
  font-size: 16px;
  padding: 16px 30px;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  text-align: center;
}

.container .btn:hover {
  background-color: black;
  color: white;
}

Попробовать самому »

Кнопки с анимацией

Выезжающие стрелочки при наведении курсора мыши:

Пример


<button class="button"><span>Кнопка </span></button>


.button {
  display: inline-block;
  border-radius: 4px;
  background-color: #f4511e;
  border: none;
  color: #FFFFFF;
  text-align: center;
  font-size: 28px;
  padding: 20px;
  width: 200px;
  transition: all 0.5s;
  cursor: pointer;
  margin: 5px;
}

.button span {
  cursor: pointer;
  display: inline-block;
  position: relative;
  transition: 0.5s;
}

.button span:after {
  content: '\00bb';
  position: absolute;
  opacity: 0;
  top: 0;
  right: -20px;
  transition: 0.5s;
}

.button:hover span {
  padding-right: 25px;
}

.button:hover span:after {
  opacity: 1;
  right: 0;
}

Попробовать самому »

Эффект "придавливания" при нажатии на кнопку:

Пример


<button class="button">Нажми</button>


.button {
  display: inline-block;
  padding: 15px 25px;
  font-size: 24px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  outline: none;
  color: #fff;
  background-color: #4CAF50;
  border: none;
  border-radius: 15px;
  box-shadow: 0 9px #999;
}

.button:hover {
  background-color: #3e8e41
}

.button:active {
  background-color: #3e8e41;
  box-shadow: 0 5px #666;
  transform: translateY(4px);
}

Попробовать самому »

Эффект "волны" при нажатии на кнопку:

Пример


<button class="button">Нажми</button>


.button {
  position: relative;
  background-color: #4CAF50;
  border: none;
  font-size: 28px;
  color: #FFFFFF;
  padding: 20px;
  width: 200px;
  text-align: center;
  transition-duration: 0.4s;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
}

.button:after {
  content: "";
  background: #f1f1f1;
  display: block;
  position: absolute;
  padding-top: 300%;
  padding-left: 350%;
  margin-left: -20px !important;
  margin-top: -120%;
  opacity: 0;
  transition: all 0.8s
}

.button:active:after {
  padding: 0;
  margin: 0;
  opacity: 1;
  transition: 0s
}

Попробовать самому »