我尝试更改浏览器的默认边框样式以获取必填字段,该字段在firefox中使用box-shadow并在chrome中使用大纲。
所以,我这样做:
*{
box-shadow: none;
outline: none;
}
input{
border: 2px solid black;
}
input:invalid{
border: 2px solid red;
}
但是这显示了窗口加载时的红色边框。但我希望它只有在它无效时才会变红。
我该如何解决这个问题?
答案 0 :(得分:1)
应删除required
以使您的输入有效,或者对于必填字段,您可以执行以下操作
input:invalid {
background: hsla(0, 90%, 70%, 1);
}
input:valid {
background: hsla(100, 90%, 70%, 1);
}
input:focus {
background: hsla(100, 90%, 70%, 1);
}
input:required {
border-color: #800000;
border-width: 3px;
}
答案 1 :(得分:1)
因为一旦它有焦点我们只想表示它无效。您可以尝试以下代码: -
input:focus:required:invalid {border: 2px solid red;}
input:required:valid { border: 2px solid black; }
答案 2 :(得分:0)
没有颜色:
input:required {
border-color: #ccc !important;
box-shadow: none !important;
-webkit-box-shadow: none !important;
}