• 去除虚线框[转] cow


    今天用微软的Menu控件做了一个菜单,点击链接,光标离开后,UL标签上会出现虚线框,查到下面资料,利用方法四问题得到解决。在这里分享一下。

    在常规情况下,该虚线框是作为一种提示让用户明确当前关注的东西,然而如果我们把链接的4种状态样式设置比较完整的话,就不是特别需要虚线框的存 在,因为它很有可能影响页面的美观。尤其是在做应用系统界面的时候,总给人一种浏览网页的感觉,显得不够专业。

        当然,如果全盘否定掉链接虚线框,对使用键盘的用户体验可能又是个大弊端,但这是另外一个话题了。

        下面介绍几种去掉链接点击时虚线框的方法:

        方法一:利用javascript的onfocus事件,实现如下:

    Html 代码  收藏代码
    1. <a href="#" onfocus="this.blur();">链 接</a>  
    <a href="#" onfocus="this.blur();">链接</a>

        如果引入了jQuery框架则可以利用它的事件绑定机制:

    Js 代码  收藏代码
    1. $('a').bind('focus'function(){   
    2.     if(this.blur){ //如果支持 this.blur   
    3.         this.blur();   
    4.     }   
    5. });  
    $('a').bind('focus', function(){ 
        if(this.blur){ //如果支持 this.blur 
            this.blur(); 
        } 
    });

        方法二:利用css样式,实现如下:

    Css 代码  收藏代码
    1. a{  
    2.     blr: expression(this.onFocus=this.close());  
    3. } /* 只 支持IE,过多使用效率低 */  
    4. a{  
    5.     blr: expression(this.onFocus=this.blur());  
    6. } /* 只 支持IE,过多使用效率低 */  
    7. a:focus {   
    8.     -moz-outline-style: none;   
    9. } /* IE 不支持 */  
    10. :focus {   
    11.     outline: none;   
    12. } /* for Firefox */   
    a{
        blr: expression(this.onFocus=this.close());
    } /* 只支持IE,过多使用效率低 */
    a{
        blr: expression(this.onFocus=this.blur());
    } /* 只支持IE,过多使用效率低 */
    a:focus { 
        -moz-outline-style: none; 
    } /* IE不支持 */
    :focus { 
        outline: none; 
    } /* for Firefox */ 

        方法三:利用标签属性,仅支持IE,实现如下:

    Html 代码  收藏代码
    1. <a href="#" hidefocus="true">链 接</a>  
    <a href="#" hidefocus="true">链接</a>

        方法四:利用Web行为

        IE从5.5版本开始支持Web行为的概念。这些行为是由后缀名为.htc的脚本文件描述的,它们定义了一套方法和属性,程序员几乎可以把这些方法和属性 应用到HTML页面上的任何元素上去。Web行为是非常伟大的因为它们允许程序员把自定义的功能“连接”到现有的元素和控件,而不是必须让用户下载二进制 文件(例如ActiveX控件)来完成这个功能。Web行为还是推荐的扩展IE对象模型和控件集的方法。微软在它的开发者站点上的DHTML行为库栏目里 提供了几个定制的Web行为:WebService行为。

        讲一下代码保存为.htc后缀的文件

    Js 代码  收藏代码
    1. <public:attach event="onfocus" onevent="quit()" />   
    2. <script language="javascript">   
    3.     function quit(){   
    4.         this.blur();   
    5.     }   
    6. </script>  
    <public:attach event="onfocus" onevent="quit()" /> 
    <script language="javascript"> 
        function quit(){ 
            this.blur(); 
        } 
    </script>

        然后,在需要去除超链虚框的页面的<head>和</head>之间加入:

    Html 代码  收藏代码
    1. <style type="text/css">   
    2.     a {behavior:url("htc 文件")}   
    3. </style>  
    <style type="text/css"> 
        a {behavior:url("htc文件")} 
    </style>

        如果页面已经有了style标签,只需要将 a {behavior:url("htc文件")} 一句插入里面即可。

    
  • 相关阅读:
    Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】
    Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
    Servlet第四篇【request对象常用方法、应用】
    Servlet第三篇【request和response简介、response的常见应用】
    Tomcat就是这么简单
    JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)
    FileChannel类的理解和使用
    Lifetime-Based Memory Management for Distributed Data Processing Systems
    Spark的核心RDD(Resilient Distributed Datasets弹性分布式数据集)
    Hadoop与Spark之间的比较
  • 原文地址:https://www.cnblogs.com/cowman/p/1992544.html
Copyright © 2020-2023  润新知