繁体   English   中英

HTML输入默认的Chrome边框颜色覆盖无法使用CSS

[英]HTML input default chrome border-color override with CSS not working

仅当我使用完整边框声明时,它才有效。 不起作用:

border-color: red;

工作:

border: 1px solid red;

代码示例:

 /* Styles go here */ .example1 { border-color: red; /* not good */ } .example2 { border: 1px solid red; /* works well */ } 
  <input class="example1"> <br> <br> <input class="example2"> 

为了以这种方式使用border-color ,您需要设置宽度和样式:

border-color: red;
border-style: solid;
border-width: 15px;

另外,您可以设置border: 1px solid blue; 然后,使用border-color: red;仅覆盖border-color: red; 这行得通,但是仅因为已经设置了wodth和style。

如果不提供其他边框属性,浏览器的用户代理样式表中的样式将应用于该元素。

在第一个示例中,如果在开发人员工具中进行检查,它将显示border-style:inset继承。

在编写border:这是所有边框样式的简写属性。 因此,当您编写border: 1px solid red它变为:

.example2 {
  border: 1px solid red;/* Becomes: */
  border-width: 1px;
  border-style: solid;
  border-color: red;
}

但是,当您仅指定颜色时,浏览器不知道输入应具有的其他样式,因此它使用默认样式。

.example1 {
  border-width: /* Uses default */
  border-style: /* Uses default */
  border-color: red;
}

有两种方法可以使您更轻松地自定义输入框。 您可以选择所有输入类型并使它们具有通用边框,然后使用类指定更特定的样式。

 input[type=text] { border: 1px solid red; } input.red-border { border-color: red; } input.blue-border { border-color: blue; } 
 <input type="text" class="red-border" value="I am Red"></input> <input type="text" class="blue-border" value="I am Blue"></input> 

但是,我不确定这是否回答了您的问题,因为似乎两个输入都带有红色边框。 尝试通过一些示例来更好地格式化问题,这些示例将更详细地说明您要实现的目标。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM