Css按钮按下效果

时间:2015-09-08 14:01:07

标签: html css animation button input

我有一个带有阴影的按钮让它看起来像是浮动的,我想点击它时会产生紧迫的效果:

码(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's begin">

截图:

Button

3 个答案:

答案 0 :(得分:34)

使用: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's begin">
</div>

答案 1 :(得分:5)

如果buttoms有一个固定的高度(看起来像),我会将buttom包装成一个具有该高度的div,并将按钮设置为绝对位置以创建正确的效果(向下移动):

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

<强> JSFIDDLE

答案 2 :(得分:0)

您可以使用CSS hover属性:

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

另一种选择是使用buttongarage.in之类的按钮生成器来生成按钮代码和悬停效果。