`
lz726
  • 浏览: 335876 次
  • 性别: Icon_minigender_2
  • 来自: 福建,福州
社区版块
存档分类
最新评论

css中最强的属性--behavior

阅读更多
---------------------------------css2.0手册中关于behavior的说明-----------------------------------
语法:
behavior : url ( url ) | url ( #objID ) | url ( #default#behaviorName )
取值:

url ( url ) : 使用绝对或相对 url 地址指定DHTML行为组件(.htc)
url ( #objID ) : 使用二进制实现(作为 ActiveX® 控件)的行为。此处的 #objID object 对象的 id 属性值
url ( #default#behaviorName ) : IE的默认行为。由行为的名称标识( #behaviorName )指定
说明:
设置或检索对象的DHTML行为。多个行为之间用空格隔开。
当多个附加到同一要素的行为发生冲突时,其结果确决于行为应用于要素的顺序。后一个行为的优先权高于前一个行为。例如,假如多个行为用于设置对象颜色,其结果将会由最后一个应用到要素的行为决定。同样的规则适用于不同行为提供的属性、事件、方法所发生的名称冲突。
可以使用 addBehavior 方法动态的将行为附着到对象。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
务必注意使用样式表(CSS)的 behavior 属性内联定义或使用 addBehavior 方法附着的行为不会在对象从文档树中移除时被自动分离。而在文档中的样式表规则定义的行为会在对象从文档树中移除时被自动分离。
对应的脚本特性为 behavior
示例:
p { behavior: url(#default#download); }
div { behavior: url(fly.htc) url(shy.htc); }
div { behavior: url(#myObject); }

------------------------------------------------------分割线YO--p-l-u-r-y----------------------------------------------------------------

------------------------应用1:刷新也保留输入框里面的文字
.sHistory {}{behavior:url(#default#savehistory);}

------------------------应用2:调用脚本
<html>
<head>
<style>
h1 { behavior: url(behave.htc) }
</style>
</head>
<body>
<h1>把鼠标放在这里</h1>
</body>
</html>

behave.htc


<component>
<attach for="element" event="onmouseover"
handler="hig_lite" />
<attach for="element" event="onmouseout"
handler="low_lite" />
<script type="text/javascript">
function hig_lite()
{
element.style.color=255
}
function low_lite()
{
element.style.color=0
}
</script>
</component>

-------------------------应用3:超过规定字符长度显示...

============================title.htc=============================   
     ==================================================================   
     <public:attach      event=oncontentready      onevent="init();"      />   
     <public:attach      event=onmouseover      onevent="onMouseOver();"      />   
     <public:attach      event=onmouseout      onevent="onMouseOut();"      />   
     <public:property      name='Length'      />   
     <script      language="JavaScript"      type="text/JavaScript">   
     var      objLayer;   
     var      all_text;//记录全部的内容   
     var      show_text;//记录部分内容   
     function      init()   
     {   
     var      length      =      parseInt(this.Length);   
     all_text      =      element.innerText.Trim();   
     if(all_text.Length()>length)   
     show_text      =      all_text.subStrB(0,length)+"...";   
     else   
     show_text      =      all_text;   
     element.innerText=show_text;   
    
     }   
     function      onMouseOver()   
     {   
     element.innerText=all_text;   
     }   
     function      onMouseOut()   
     {   
     element.innerText=show_text;   
     }   
    
     function      String.prototype.Trim()   
     {   
     return      this.replace(/^\\s*/g,"").replace(/\s*\$/g,"");   
     }   
     function      String.prototype.Length()   
     {   
     var      str=this;   
     var      count=0;   
     for(var      i=0;i<str.length;i++)   
     {   
     if(str.charCodeAt(i)>255)   
     count+=2;   
     else   
     count++;   
     }   
     return      count;   
     }   
     //取得字符串字节长度   
     function      String.prototype.subStrB(start,lenB)   
     {   
     var      str=this;   
     var      count=0;   
     var      tempstr="";   
    
     for(var      i=0;count<lenB;i++)   
     {   
     if(str.charCodeAt(i)>255)   
     {count+=2;}   
     else   
     {count++}   
     tempstr+=str.substr(i,1);   
     }   
     return      tempstr;   
     }   
     </script>   
    
     ==================================实例===============================   
     <HTML>   
     <HEAD>   
     <TITLE>      New      Document      </TITLE>   
     <META      NAME="Generator"      CONTENT="EditPlus">   
     <META      NAME="Author"      CONTENT="">   
     <META      NAME="Keywords"      CONTENT="">   
     <META      NAME="Description"      CONTENT="">   
     </HEAD>   
     <style      type="text/css">   
     <!--   
     .makeupTitle   
     {   
     background-color:      #A7AAE4;   
     behavior:      url("titleHTC.htc");   
     }   
     -->   
     </style>   
     <BODY>   
     <TABLE>   
     <TR>   
     <TD      class="makeupTitle"      Length="20">一个中文的长度是2,测试一下!</TD>   
     </TR>   
     </TABLE>   
     </BODY>   
     </HTML>

--------------------------应用4:为所有属性加:hover事件------------------

<style type="text/css" media="projection, screen">
.whatever {
       background: #808080;        padding: 20px; }
.whatever:hover, .whateverhover {
       background: #eaeaea;
} </style>

<!-- Additional IE/Win specific style sheet (Conditional Comments) -->
<!--[if lte IE 6]>
<style type="text/css" media="projection, screen">
.whatever {
       behavior: expression(
           this.onmouseover = new Function("this.className += ' whateverhover';"),
           this.onmouseout = new Function("this.className = this.className.replace('whateverhover', '');"),
           this.style.behavior = null
       );
}
/*.whatever {
       background-color: expression(
           !this.js ? (this.js = 1,                this.onmouseover = new Function("this.className += ' whateverhover';"),
            this.onmouseout = new Function("this.className = this.className.replace('whateverhover', '');")
               ) : false);
       );
}*/
/*.whatever {
       background-color: expression(
           this.onmouseover = new Function("this.className += 'whateverhover';"),
           this.onmouseout = new Function("this.className = this.className.replace('whateverhover', '');")
       );
}*/
</style>
<![endif]-->  

----------------------------又分割---------------------------------

通过调用htc达到用css实现js程序的功能,behavior展现给我们的功能相当强悍.

百度空间未做测试,不知baidu屏蔽这个没,以上4个应用在自己的网站测试成功

 

转自:http://hi.baidu.com/ideanote/blog/item/7cc994ef5fe25417fcfa3c6e.html

分享到:
评论

相关推荐

    CSS-CSS属性速查表

    以上总结涵盖了给定文件中提到的CSS属性和相关知识点,详细解析了每个属性的作用、应用场景及与其他属性的关联,旨在帮助读者深入理解CSS的灵活性和强大功能,为高效运用CSS进行网页设计和开发奠定坚实基础。

    IE兼容CSS3圆角border-radius的方法(同时兼容box-shadow,text-shadow)

    要使用这个文件,你需要在CSS中添加一个`behavior`属性,指向`.htc`文件,例如: ```css .ie-fix { behavior: url(ie-css3.htc); -webkit-border-radius: 10px; /* Safari 和 Chrome */ -moz-border-radius: 10...

    ie-css3.htc 免费版

    使用ie-css3.htc的方法很简单,只需要在CSS样式表中将ie-css3.htc文件作为行为(behavior)属性关联到需要CSS3效果的元素: ```css selector { behavior: url(/path/to/ie-css3.htc); /* 其他CSS3属性,如border-...

    引入PIE.htc使ie7,ie8 支持css3 border-radius圆角效果

    `.htc`文件本质上是一个行为(Behavior)文件,它可以被CSS链接到特定的元素上,使得这些元素能够识别并执行其中的脚本,从而模拟出CSS3的圆角效果。 要使用PIE.htc,你需要在你的CSS样式表中添加以下代码: ```...

    iecss3.htc支持输入框圆角

    在CSS中,我们可以通过添加`behavior`属性并指定`url(iecss3.htc)`来引入这个文件,使得IE浏览器能够识别并应用圆角效果。例如: ```css input[type="text"] { -webkit-border-radius: 10px; /* Chrome, Safari, ...

    ie6实现css3属性

    这些HTC文件通常通过定义自定义的CSS属性(如-moz-border-radius或-webkit-border-radius)并在HTC文件中解析和应用这些属性,来实现IE6的圆角效果。 然而,需要注意的是,使用HTC文件会带来一些性能问题,因为它们...

    语言程序设计资料:DIV_CSS常用的css属性大全.doc

    这份“语言程序设计资料:DIV_CSS常用的css属性大全.doc”涵盖了HTML基础标签的使用以及CSS中的一些基本属性,旨在帮助开发者更好地理解和应用这些元素。下面我们将深入探讨其中的关键知识点。 1. HTML基础标签: ...

    外卖:实现类似锚点功能-html-css

    2. 通过CSS的`scroll-behavior`属性实现平滑滚动效果。 3. 使用CSS自定义锚点链接的样式,包括颜色、悬停效果等。 4. 考虑响应式设计,确保在不同设备上功能正常。 以上就是使用HTML和CSS实现类似锚点功能的核心...

    css3兼容圆角

    这是一种行为复合内容(Behavior Composite Content)文件,它是微软Internet Explorer浏览器特有的一个技术,通过它可以让浏览器理解一些非标准的CSS属性。在本例中,`css3.htc`文件包含了JavaScript代码,用于模拟...

    ie-css3.htc

    - 在HTML中,我们可以通过添加`&lt;style&gt;`标签或外部CSS文件引入CSS3样式,并使用`behavior`属性将ie-css3.htc绑定到特定的元素,如`behavior: url(ie-css3.htc);`。 2. **常见应用**: - **圆角边框**:在IE6-8中...

    ie-css3(让ie6 ie7 ue8支持css3).rar

    5. **使用方法**:通常,开发者会在CSS文件中通过`behavior`属性引用.htc文件,如`-ms-behavior: url(/path/to/ie-css3.htc);`。这种方法有一定的局限性,如性能问题、跨域限制以及不支持所有CSS3特性。 6. **替代...

    ie兼容Css3属性

    1. **边框圆角(Border Radius):** CSS3中的border-radius属性可以创建圆角效果,但在IE9以下版本不支持。PIE通过添加`behavior: url(PIE.htc)`来实现这一功能。 2. **盒阴影(Box Shadow):** CSS3的box-shadow属性...

    ie-css3.htc(内有使用方法).rar

    "ie-css3.htc"是一个行为(Behavior)文件,它是Microsoft Internet Explorer特有的一个技术,通过HTC(HTML Component)文件,可以扩展HTML元素的功能,使得IE能够理解并应用一些非标准的CSS属性。在这个案例中,这...

    让ie也支持css3

    【描述】中的方法建议创建一个通用的类名,例如`.css3-enabled`,然后使用`behavior`属性结合`.htc`文件,当需要应用CSS3样式的元素添加这个类名时,.htc文件中的代码就会生效,模拟实现CSS3的功能。这是一个常见的...

    css3pie-2.0beta1

    CSS3的很多新属性在IE9及以前的版本中都没法实现,而CSS3pie正好可以解决这个问题,只需要在CSS代码中引入如下代码即可: behavior: url(path/to/pie_files/PIE.htc); 这样IE9及以前的版本就能支持CSS3的属性了。

    CSS属性behavior的语法使用说明

    behavior的语法:  behavior : url ( url ) | ...此处的 #objID 为 object 对象的 id 属性值 url ( #default#behaviorName ) : IE的默认行为。由行为的名称标识( #behaviorName )指定 说明:设置或检索对象的DHT

    html参考手册+CSS参考手册+html资源等12个文件.rar

    CSS 属性参考 CSS 长度单位参考 其他参考 命令标识符 缺省行为参考 htc 行为参考 可视化滤镜和切换参考 HTML+TIME参考 网页矢量图形标记语言 HTML 应用程序 技巧 语言代码 颜色表 --------------------...

    CSS属性参考,背景 边界 表格 滚条……

    本文将深入探讨标题中提到的CSS属性,包括背景、边界、表格和滚条,以及描述中提及的文本、显示、相对定位、元素缩放、内容大小和滤镜效果。 1. 背景(Background) - `background-color`: 设置元素的背景颜色。 ...

    ie支持css3部分功能

    CSS3中的box-shadow属性允许开发者为元素添加阴影,提升其立体感。在非IE浏览器中,可以简单地使用如下的语法: ```css element { box-shadow: h-offset v-offset blur-radius spread-radius color inset; } ``` ...

Global site tag (gtag.js) - Google Analytics