html - 只读伪类应用于单选按钮,在 Firefox 中不是只读的
问题描述
我在使用 CSS 伪类时遇到问题:read-only
。
使用 Firefox 时,伪类在输入不处于只读状态时被应用。我查看了 MDN doc :read-only并且似乎与 Firefox 兼容。
知道这是怎么回事吗?
input[type="radio"]:read-only {
-webkit-appearance: none;
-moz-appearance: none;
background-color: red;
width: 30px;
height: 30px;
border-radius: 50%;
}
<input type="radio" name="radio-1" value="false" />
解决方案
支持
CSS 伪类:read-only
得到很好的支持。
只有 IE 不支持它,如您所知,Microsoft 放弃了 IE 支持。
您可以在 MDN 上查看对 :read-only 的支持。
两个错误
支持 readonly 属性的 HTML 元素列表:
readonly 属性由 text、search、url、tel、email、 password、date、month、week、time、datetime-local和number 类型支持,并且表单控制元素。如果出现在这些输入类型和元素中的任何一个上, :read-only 伪类将匹配。如果不包含该属性,则 :read-write 伪类将匹配。
因此,它不适用于<input type="radio">
HTML 元素需要 readonly 属性
为了使 CSS 伪类:read-only
正常工作,您需要将readonly="readonly"
属性添加到您的 html 元素。
例如:
<div class="group">
<input type="textbox" value="Some value" readonly="readonly"/>
<label>Textbox</label>
</div>
推荐阅读
- sql - 在 Oracle SQL 中使用月份名称将 varchar 转换为日期
- python - 如何在生成器提供的 Keras 自定义损失函数中访问样本权重?
- reactjs - SetState 基于带有钩子的操纵道具
- python - 使用 python 请求构建 ProcessAuth POST
- r - Facet_Wrap 在我的数据集中因更多级别的因素而拥挤
- javascript - 如何添加和使用 Vue 模板中的数据?
- sql-server - 尝试使用 MERGE INTO,导致数据类型不兼容
- spring - 如何确保让我的自定义 OidcUserService 被默认调用?
- ms-access - 保存记录时自动更新 LastDateModified 字段
- flask - Flask 管理表单编辑规则导致“没有字段”错误