139

我注意到按钮和其他元素具有默认样式并分 3 个步骤运行:普通视图、悬停/焦点视图和鼠标按下/单击视图,在 CSS 中我可以更改普通视图和悬停视图的样式,如下所示:

button{
  background:#333;
  color:#FFF;
}

button:hover{
  background:#000;
  color:#EEE;
}

但我怎样才能选择mousedown?我想要这样的东西:

button:mousedown{
  //some styling
}

谢谢

4

5 回答 5

194

我认为您的意思是活动状态

 button:active{
  //some styling
 }

这些是链接在 CSS 中可能具有的所有可能的伪状态:

a:link {color:#FF0000;}    /* unvisited link, same as regular 'a' */
a:hover {color:#FF00FF;}   /* mouse over link */
a:focus {color:#0000FF;}   /* link has focus */
a:active {color:#0000FF;}  /* selected link */
a:visited {color:#00FF00;} /* visited link */

另见:http ://www.w3.org/TR/selectors/#the-user-action-pseudo-classes-hover-act

于 2013-05-23T13:33:06.243 回答
82

我发现这就像 mousedown 事件:

button:active:hover {}
于 2017-11-17T17:46:19.007 回答
35

专业提示:出于某种原因,CSS 语法需要相同元素后面:active代码段才能生效:hover

http://www.w3schools.com/cssref/sel_active.asp

于 2016-03-19T20:23:47.393 回答
4

我最近发现:active:focus在 css 中做同样的事情,就:active:hover好像你需要覆盖一个自定义 css 库一样,他们可能会同时使用这两者。

于 2019-06-07T12:38:28.293 回答
1

仅供参考,同时也为自己寻找。我从 90 年代开始制作了一个简单漂亮的按钮。在单击时,只需简单地更改边框颜色,它看起来就像按下了一样。

CSS:

#button {
    border-bottom: 1px solid gray;
    border-right: 1px solid gray;
    border-top: 1px solid white;
    border-left: 1px solid white;
    padding: 5px 30px;
    background-color: gainsboro;
}

#button:active {
    border-top: 1px solid gray;
    border-left: 1px solid gray;
    border-bottom: 1px solid white;
    border-right: 1px solid white;
}

HTML:

<button id="button">Click Here!</button>

结果如下:

未点击 非活动按钮

点击 单击时的活动按钮

于 2021-12-11T19:38:17.370 回答