Css按钮按下效果[重复]

Posted

技术标签:

【中文标题】Css按钮按下效果[重复]【英文标题】:Css button pressing effect [duplicate] 【发布时间】:2015-12-04 06:14:49 【问题描述】:

我有一个带有盒子阴影的按钮,使它看起来像在浮动,我想在单击它时产生一种按下效果:

代码(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. 【参考方案1】:

使用:active 伪类并更改box-shadow 垂直偏移值。相对于绝对父级的相对定位输入,调整激活元素的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>

【讨论】:

谢谢,但我也希望按钮向下移动。 您可以更改高度值使其看起来向下。 看看这个网站右上角的按钮:suomi24.fi 代码随转换更新。 谢谢,这很有帮助。【参考方案2】:

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

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

JSFIDDLE

【讨论】:

【参考方案3】:

您可以使用 CSS hover 属性:

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

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

【讨论】:

buttongarage.in 现在似乎已损坏(2019-02)

以上是关于Css按钮按下效果[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 JS 脚本单击按钮(CSS)[重复]

H5移动端端按钮添加按下效果

如何消除“按下按钮”效果并使按钮在点击时变平

通过滑动手指按下按钮(用于钢琴效果)

如何防止触摸设备上按钮的粘滞悬停效果

如何在按下按钮后每 10 分钟重复一次方法并在按下另一个按钮时结束它