链接用图片做背景,text-indent:-9999px; 隐藏文字,此效果在 ie 中是正常的,但在 firefox 里,鼠标点击该链接时,虚线框却会包住被缩进的文字,结果显示为虚线框 n 长。
因为平时是用overflow:hidden; 属性的,所以一直也没有注意到这个问题的存在,但当你需要使用 js 来实现某种交互时,强烈建议不要使用 overflow:hidden; 属性,因为会给你带来很多意想不到的麻烦。
虚线框,其实就是 css 中的 outline 属性,这也说明 ie 和 firefox 对于 outline 和 border 的解析范围并不一致:ie 认为虚线框就是border的边缘,而 firefox 则认为虚线框应该是文字范围。
那 w3c 中是如何定义 outline 的呢?
把虚线框去掉了a:focus { outline:0 } ,毕竟这个问题只存在 firefox 中。
新闻热点
疑难解答