Jojo01 Jojo01 - 7 months ago 22
HTML Question

Css button pressing effect

I have a button with a box-shadow that makes it look like it's floating, and I would like to make a pressing effect when I click on it:

Code(CSS):

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


Code(HTML):

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


Screenshot:

Button

Answer

Use :active pseudo class and change the box-shadow vertical offset value. Adjust the top value for the activated element with respect to the relatively positioned input with absolute parent.

.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's begin">
</div>