浏览器中预定义了多少种单选按钮状态?
How many states of radio button are predefined in browser?
我面临着开发自定义单选按钮的任务。为了避免样式问题,我想知道所有可能的预定义状态(例如选中、活动和其他),以便为它们制定 CSS 规则以确保我不会有一些意外的样式。
这些状态及其组合是什么?
在 W3C Selectors Level 3 document 中有以下状态 pseudo-classes 可以应用于无线电元素:
- :选中
- :启用
- :禁用
记住无线电元素可以不被选中,有必要提到有未选中状态。这些状态成对出现,每对中的一个状态始终存在。这样我们现在得到 4 种可能的状态(它们可以在下面的思维导图中找到)。
确实存在可应用于 html 无线电元素的动态 pseudo-classes:
- :悬停
- :活跃
- :焦点
它们可以任意组合使用,也可以完全不使用。它们有 8 种可能的组合。将其与 4 个 enabled-disabled、checked-unchecked 对组合,我们得到 32 个可能的陈述,可以在以下思维导图中找到(缩放以查看全尺寸):
从checked-unchecked节点开始算起,每一次包含至少两个节点的pass就是一个状态,例如:
- checked-disabled,
- checked-enabled-focus,
- unchecked-enabled-hover-active.
在每个启用的路径附近,都有一张单选按钮状态的图片,因为它现在在 MacOS Sierra 上的 Chrome 浏览器中实现。每个禁用路径只有一张图片——它们对于其他禁用状态都是相同的。总共有 10 张图片代表每个州。使用数字是为了方便。
我面临着开发自定义单选按钮的任务。为了避免样式问题,我想知道所有可能的预定义状态(例如选中、活动和其他),以便为它们制定 CSS 规则以确保我不会有一些意外的样式。
这些状态及其组合是什么?
在 W3C Selectors Level 3 document 中有以下状态 pseudo-classes 可以应用于无线电元素:
- :选中
- :启用
- :禁用
记住无线电元素可以不被选中,有必要提到有未选中状态。这些状态成对出现,每对中的一个状态始终存在。这样我们现在得到 4 种可能的状态(它们可以在下面的思维导图中找到)。
确实存在可应用于 html 无线电元素的动态 pseudo-classes:
- :悬停
- :活跃
- :焦点
它们可以任意组合使用,也可以完全不使用。它们有 8 种可能的组合。将其与 4 个 enabled-disabled、checked-unchecked 对组合,我们得到 32 个可能的陈述,可以在以下思维导图中找到(缩放以查看全尺寸):
- checked-disabled,
- checked-enabled-focus,
- unchecked-enabled-hover-active.
在每个启用的路径附近,都有一张单选按钮状态的图片,因为它现在在 MacOS Sierra 上的 Chrome 浏览器中实现。每个禁用路径只有一张图片——它们对于其他禁用状态都是相同的。总共有 10 张图片代表每个州。使用数字是为了方便。