【发布时间】:2016-06-28 06:08:18
【问题描述】:
我正在使用不可见的单选按钮和带有可见标签的复选框来分别创建模式 UI(随时激活的单一模式)和切换按钮。理想情况下,我希望为以下每个状态提供不同的图像
- 未选中
- 按下
- 已检查
我使用了以下模板。 :checked 和 :not(:checked) 选择器正在工作。对于按钮元素, :active 似乎适用于鼠标按下/按下状态。对于复选框和单选按钮,它们似乎不起作用。如何为鼠标按下/按下状态设置样式?
input#toggle_button:not(:checked) ~label{
content: url(../assets/button_toggle_normal.png);
}
input#toggle_button:checked ~label{
content: url(../assets/button_toggle_selected.png);
}
input#toggle_button:active ~label{
content: url(../assets/button_toggle_pressed.png);
}
【问题讨论】:
-
如果你想要一个中间状态,你可能想要使用
:focus并有四种变体——正常、焦点正常、选定、焦点选定。:active不适用于复选框,但:focus适用于所有input。该效果不适用于“按下时”,但它会是一个很好的可用性增益(可以与:hover配对,供鼠标使用)并提供类似的反馈。
标签: css checkbox radio-button togglebutton