为什么有些按钮在单击时会应用 :focus 样式,而有些则不会?例如,angular-ui modal关闭按钮已应用它,但请尝试 W3Schools button element但事实并非如此。
编辑:我重新打开这个问题。原谅我,我有点忘了这件事,因为我真的认为它已经解决了,直到昨天我真的试过了。所以我做了这样的事情:.btn:focus:not(:active) { outline: none;}
,但问题是当使用 tab 时它也不会显示焦点
按钮。完全忘记 Bootstrap ,不是它!
当 :focus
的 background-color
属性与默认值不同时,焦点效果似乎在按钮单击时变得可见。也许对于其他一些属性也是如此。
所以 - 如果 background
是默认的,那么你只能在使用 tab
键或手动将其设置为 :focus
时才能看到焦点效果.如果 background
不同,您也可以在点击时看到效果。 Plunker 演示了这一点:https://plnkr.co/edit/2eKrtwl2wZcj3Ty4JJSu?p=preview
也许我自己已经回答了我的问题,也许没有,不知道。
edit2:刚刚看到@musically_ut edit 给出了几乎相同的例子。
更新
与@Error404 讨论后,我可以更准确地澄清问题。
所以问题是 - 为什么默认 button
的 outline
样式在被clicked 时不显示?
请参阅粗体的“点击”,因为它不仅仅在点击时起作用。当使用键盘 tab
键专注于它时,它会起作用,当使用开发人员工具手动设置它时,它会起作用。
到目前为止,大多数答案都认为单击时它会失去焦点或根本没有焦点,但确实如此。您可以更改 button
的 background
或 border
以及其他一些属性,当您单击它时,您会突然看到轮廓。或者您可以将 outline
本身更改为 :focus
规则中的其他内容,它也会显示。
最佳答案
angular-ui 基于 Bootstrap css 框架,可以管理很多样式的小东西。
W3C 示例只是没有应用任何样式的 html。
关于html - 有些按钮有 :focus style applied on click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771069/