输入:页面加载时应用无效的 CSS 规则
input:invalid css rule is applied on page load
看看Firefox或Chrome中的这两个小提琴。在这个中,我只有一个简单的表单,带有required
属性和submit
按钮。 当框为空时按"提交"会导致它的样式设置为invalid
(在 Firefox 中,它是一个红色轮廓)。 但它会等到您按提交以显示它无效。
现在试试这个。 它是相同的,除了有一些css:
input:invalid{
border-color:orange
}
除了这次,甚至在按下提交之前就应用橙色边框颜色。 因此,仅当您手动为表单设置invalid
样式时,浏览器才会在之前应用它,这不是直观的行为。 当然,在您输入任何内容之前,必填字段将无效。
有没有办法解决这个问题?
以下是您要查找的内容: http://jsfiddle.net/CaseyRule/16fuhf6r/2/
样式如下:
form.submitted input:invalid{
border-color:orange
}
然后添加这个JavaScript(我在这里使用jQuery):
$('input[type="submit"]').click( function(){
$('form').addClass('submitted');
});
我不相信没有JavaScript有办法实现这一目标。
这里有一篇关于如何防止:无效样式在页面加载时激活(以及其他 css 技巧)的好文章。该技术需要一个占位符属性,但除此之外,它是一个纯粹的 css 解决方案。
input:not(:placeholder-shown):not(:focus):invalid {
border-color:orange;
}
在 Firefox 中,您可以使用:
:-moz-ui-invalid:not(output)
这是浏览器添加的伪类,用于发出红色光芒。它不会在页面加载时添加,否则所有输入都会发光。我在其他浏览器中没有找到等效的。
也许这有效:
input:invalid{
border-color:orange !important;
}
这将覆盖分配给输入的任何其他边框颜色,当它无效时。
相关文章:
- CSS-如何定位内容数据标题
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- CSS表格:从列平移到整个表格宽度
- css img:悬停工作,img:活动无效
- 更改 CSS“z-index”属性:“赋值中的左侧无效”
- 输入:页面加载时应用无效的 CSS 规则
- jQuery validate-更改无效元素的css
- 为什么js和css文件在服务器端导入时无效
- 未捕获的错误:无效的选择器- #jqxCheckBox!请检查使用的“ID”或“CSS类名”是否正确
- 在模板中发现无效的HTML、CSS或JavaScript
- 以内联样式删除无效的css属性
- 为什么javascript的css样式对第一种情况有效,但对第二种情况无效?
- Google闭包编译器解析错误:“css({float:'left'})”的属性id无效
- 未捕获引用错误:赋值中的左侧无效(更改css背景色)
- Uncaught ReferenceError:在JavaScript中使用边界底部CSS属性时,赋值的左侧无效
- 当输入无效时,Angular 可以将 css 类添加到父/同级元素吗?
- HTML/CSS表单:通过必需字段提交的数据无效或输入