我怎样改变-webkit-focus-ring-color
的颜色? Chrome浏览器默认是淡蓝色,和我的CSS不搭配,我想改成其他16进制颜色但保留其他样式(模糊边缘、宽度)。
另外,这么做会有什么重要的原因吗?谢谢!
.thing:focus {
outline-color: [MY_COLOUR];
}
如果你想要在各种浏览器中实现一致的 CSS 样式,最好编写自己的完整样式表,并且在此之前可能还需要添加一个 CSS 重置(CSS reset)。
如果你满意浏览器的焦点样式,只是想改变颜色,那么上面的代码就足够了。你可能还想进行一些快速研究,查看其他浏览器的默认焦点样式是什么(也许有些使用边框?),并将这些颜色也设置为相应的值。
如果你想在所有浏览器中模拟 Chrome 的样式,请尝试使用以下代码(来自 Chrome 用户代理样式表):
.thing:focus {
outline: [My_COLOUR] auto 5px;
}
http://jsfiddle.net/jmysiak/fpqp1zv3/2/
input {
border: 1px solid #c4c4c4;
width: 200px;
height: 20px;
font-size: 16px;
padding: 4px;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
transition: all ease-in-out 0.15s;
-webkit-transition: all ease-in-out 0.15s;
-o-transition: all ease-in-out 0.15s;}
input:focus {
outline: none;
border-color: #df9eed;
box-shadow: 0 0 10px #df9eed;}
<button class="thing">Something</button>
或者
<input class="thing" type="text" />
.thing {
border: 1px solid red;
}
.thing:focus {
outline: 0;
border: 1px solid blue;
}
!important
。你能在不使用这个标志的情况下让它工作吗? - YPCrumbleoutline
简写属性的功能类似于border
,如果你覆盖了简写属性,你需要考虑到你正在覆盖的所有属性。你不能只挑选颜色。outline: red auto 5px
是有效的,而outline: red
不起作用。 - serraosays