border 可应用于几乎所有有形的html元素,而outline 是针对链接、表单控件和ImageMap等元素设计

outline的效果将随元素的 focus 而自动出现,相应的随 blur 而自动消失。这些都是浏览器的默认行为,无需JavaScript配合CSS来控制。outline 不会像border那样影响元素的尺寸或者位置。

使用input:focus{outline:none;},可以达到“输入框”获得焦点时边框不变蓝的效果。这个效果也可以使用在button上,button:focus{outline:none;}。

但是在Firefox下,对于类型为button的元素,即使设置outline,也还是会出现虚线。可以使用一个Firefox的私有伪元素:

button:-moz-focus-inner{border:0;},

特别注意的是-moz-focus-inner设置的不是outline,而是设置border。

05-11 21:58