鼠标按下的CSS

the*_*ise 35 css

通常我会使用:悬停,但我希望我的网站也可以在触摸屏媒体上访问.

我知道我可以使用:active,但是一旦我松开鼠标按钮,它就会回到无效状态.

我希望有效:

鼠标向下:Div变为绿色

鼠标向上:Div保持绿色

鼠标向下:Div变红

鼠标向上:Div保持红色

代替:

鼠标向下:Div变为绿色

鼠标向上:Div变红

Jor*_*ein 144

不依赖于jQuery:

:active伪类用于会在用户点击,而他们申请的CSS元素.

.button {
  color: red;
}
.button:active {
  color: green;
}
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案.这是正确的答案.问题是CSS不是关于jQuery或任何类型的库. (12认同)
  • 请记住,如果您有一个悬停状态,它需要在活动状态之前.否则,悬停将覆盖单击效果..button {颜色:红色; } .button:hover {color:yellow; } .button:active {color:green; } (5认同)
  • 不幸的是,接受的答案取决于提问者的想法. (3认同)
  • 这里的+1是一个JSBin http://jsbin.com/oquzab/1/edit正如你所指出的那样:active必须是列表中的最后一项才能被覆盖:hover:link和:visited . (3认同)
  • 这不是真的.:active在活动元素上应用.执行鼠标单击后,元素可以是":active". (2认同)

zzz*_*Bov 19

以下是如何进行纯css切换'按钮'(需要CSS3):

.toggle-button
{
  background-color: #FF0000;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.toggle-box:checked + .toggle-button
{
  background-color: #00FF00;
}
Run Code Online (Sandbox Code Playgroud)
<input type="checkbox" class="toggle-box" id="toggle-1" />
<label for="toggle-1" class="toggle-button">Click Me</label>
Run Code Online (Sandbox Code Playgroud)

当然,和往常一样,IE在CSS上失败了(无法弄清楚:checked伪类),所以你最好只使用JavaScript.


小智 9

使用jQuery.

$(function(){
    $('#yo-content').click(function() { 
        $(this).toggleClass('make-me-green');
    });
});
Run Code Online (Sandbox Code Playgroud)

CSS:

#yo-content { 
    background-color: #ff0000;
    cursor: pointer;
}

.make-me-green { 
    background-color: #33ff00 !important;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="yo-content">Feel free to click</div>
Run Code Online (Sandbox Code Playgroud)

  • 道具来自选定的答案,年轻的天行者. (2认同)