首页 > 代码库 > CSS实现点击改变元素背景色

CSS实现点击改变元素背景色

可通过使用css伪类实现点击元素变色的效果,两个伪类是:active, :focus

:active

:active选择器用于选择活动链接。当在一个链接上点击时,它就会成为活动的(激活的),:active选择器适用于所有元素,不仅限于链接a元素

:focus

:focus 选择器用于选取获得焦点的元素。仅接收键盘事件或其他用户输入的元素允许 :focus 选择器。

 

由于上面的特性,如果想实现点击时变色效果,有以下两种方法,两者区别在

:active,元素被点击时变色,但颜色在点击后消失

:focus, 元素被点击后变色,且颜色在点击后不消失

    button:active{
      background:olive;
    }
    button:focus{
      background:olive;
    }

 在线实例:http://jsfiddle.net/vt1bzpsq/

由于div等元素无法接受键盘或其他用户事件,即不支持:focus伪类,可通过增加tabIndex属性使其支持:focus

<div tabindex="1">
Section 1
</div>

<div tabindex="2">
Section 2
</div>

<div tabindex="3">
Section 3
</div>
div:focus {
    background-color:red;
}

在线实例:http://jsfiddle.net/mwbbcyja/

 

CSS实现点击改变元素背景色