去掉 Chrome 输入框激活时的蓝色边框

2014-08-20 10:15:41 +08:00
 gangsta
Chrome中原生表单输入框或者按钮active时会有一个蓝色的外廓边框,个人觉得比较难看

http://stackoverflow.com/q/2943548/1299675
综合上面这个帖子里和Google得到的一些css hack,可以去掉:

input, input:focus, button, button:focus{
outline:none;
outline:1px !important;
}

但是这样写CSS样式后,在有的浏览器里会有问题:
输入框无法获得焦点
而且也存在原答主说的那个问题:
but keep in mind this is potentially bad for usability: It will be hard to tell whether an element is focused, which can suck when you walk through all a form's elements using the Tab key - you should reflect somehow when an element is focused.

---------------------------------------------

请问大家都是怎么解决这个问题的?
3233 次点击
所在节点    问与答
2 条回复
crs0910
2014-08-20 11:18:41 +08:00
如果是自己的网站,那就定义focus的样式,去outline然后加个边框或者阴影。
“无法获得焦点”的情况不知道,没见过去掉outline会这样。
如果是想改掉chrome的默认样式,那也只能去掉outline了,加其它样式可能跟一些网站的样式不搭,这个没办法。
gangsta
2014-08-20 11:29:00 +08:00
@crs0910

我在iPhone上用Safari测试,输入框获取焦点不行

参考了下BootStrap的写法 确实是通过:focus的样式来处理的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128873

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX