Эффект нажатия кнопки Css

У меня есть кнопка с теневой коробкой, которая делает ее похожей на нее плавающей, и я хотел бы сделать эффект нажатия, когда я нажимаю на нее:

код (CSS):

#startBtn
{
    font-family: OpenSans;
    color: #FFFFFF;
    background-color: #00FF7C;
    border: 1px solid #00FF7C;
    border-radius: 5px;
    box-shadow: 0px 5px 0px #00823F;
}

Код (HTML):

<input type="button" id="startBtn" value="Let begin">

Скриншот:

<w290"

Ответ 1

Используйте класс псевдонимов :active и измените значение вертикального смещения коробки-тени. Отрегулируйте значение top для активированного элемента относительно относительно позиционированного ввода с абсолютным родителем.

.button {
  position: absolute;
}
#startBtn {
  font-family: OpenSans;
  color: #FFFFFF;
  background-color: #00FF7C;
  border: 1px solid #00FF7C;
  border-radius: 5px;
  box-shadow: 0px 5px 0px #00823F;
  position: relative;
  top: 0px;
  transition: all ease 0.3s;
}
#startBtn:active {
  box-shadow: 0 3px 0 #00823F;
  top: 3px;
}
<div class="button">
  <input type="button" id="startBtn" value="Let begin">
</div>

Ответ 2

ЕСЛИ буквы имеют фиксированную высоту (по мере того как она выглядит) Я бы обернул бытум в div с этой высотой и установил для кнопки абсолютное положение, чтобы создать правильный эффект (перемещение вниз) с помощью:

#startBtn:active {
  box-shadow: 0 1px 0 #00823F;
    bottom:-4px;
}

JSFIDDLE

Ответ 3

Вы можете использовать свойство CSS hover:

#startBtn:hover { 
  /* your css code here */ 
}

Другим вариантом является использование генераторов кнопок, таких как buttongarage.in, чтобы сгенерировать код для кнопки и эффекта наведения.