CSS按钮按下效果

21

我有一个带有阴影效果的按钮,看起来像漂浮着的。当我点击它时,我想给它添加按下的效果:

代码(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">

截屏:

按钮


只需看一下这个例子:https://www.w3schools.com/code/tryit.asp?filename=GJKQEYQ8AXA8。 - user12949439
3个回答

45
使用: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>


谢谢,但我也希望按钮向下移动。 - Jojo01
你可以更改高度值使其看起来向下。 - m4n0
请看一下此网站右上角的按钮:http://www.suomi24.fi - Jojo01
代码已更新并完成过渡。 - m4n0
3
谢谢,这很有帮助。 - Jojo01

6
如果按钮有固定的高度(看起来是这样),我会将按钮包装到一个具有该高度的div中,并将按钮设置为绝对定位,以创建正确的效果(向下移动):
#startBtn:active {
  box-shadow: 0 1px 0 #00823F;
    bottom:-4px;
}

JSFIDDLE


0
你可以使用CSS的hover属性:
#startBtn:hover { 
  /* your css code here */ 
}

另一个选择是使用按钮生成器,例如buttongarage.in来生成您的按钮和悬停效果的代码。


1
buttongarage.in 现在(2019年2月)似乎已经损坏。 - Mike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接