六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 118|回复: 0

几个去除链接/按钮虚线框的方法

[复制链接]

升级  20%

20

主题

20

主题

20

主题

秀才

Rank: 2

积分
80
 楼主| 发表于 2013-2-7 19:03:20 | 显示全部楼层 |阅读模式
方法一: IE 下使用expression(this.hideFocus=true), firefox下使用outline: none; (除了FF下对按钮不生效, 其它均有效)  代码:
           css:
            .hideFocus{hide-focus: expression(this.hideFocus=true);}/* for ie 5+ */        
            .hideFocus{outline: none;}  /* for firefox 1.5 + */
           html:
            <a href="#" class="hideFocus">我是链接, 我不想要虚线</a>
           <br/><br/>
            <input type="button" value="我是按钮, 人家也不行要虚线嘛" class="hideFocus" />

  这个方法的缺点是IE下使用expression, 增加了浏览器负担, 而且ff下对按钮也不能生效.

方法二: 使用js onfocus=blur(); 全生效;  代码:
      css: 无
      html:
      <a href="#" >我是链接, 我不想要虚线</a>
      <br/><br/>
       <input type="button" value="我是按钮, 人家也不行要虚线嘛"  />

这个方法的优点是不需要写任何css代码, 也适应任何情况. 缺点是需要使用js, 而且"链接/按钮"会失去了focus状态, 在一些需要侦测"链接/按钮"focus状态的情况下, 会造成麻烦.

方法三: 结合outline/border/zoom属性实现  代码:
     css:
     .hideFocus2{outline:0;zoom:1;}  
     .hideFocus2::-moz-focus-inner{border-color:transparent!important;}/* 让FF下button也生效 */
     html:
      <h3>方法三: 结合outline/border/zoom属性实现</h3>
      <a href="#" class="hideFocus2">我是链接, 我不想要虚线</a>
      <br/><br/>
      <input type="button" value="我是按钮, 人家也不行要虚线嘛" class="hideFocus2" />

     这个方法暂时没看出有啥明显的缺点, 但暂时不是很清楚zoom:1;为什么就能让ie6去掉了虚线, 是因为促发了hasLayout吗? 这个问题以后搞清楚后, 会回来记录上.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表