`
lz726
  • 浏览: 329910 次
  • 性别: 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

分享到:
评论

相关推荐

    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 应用程序 技巧 语言代码 颜色表 --------------------...

    实现CSS3中的border-radius(边框圆角)示例代码

    behavior: url(border-radius.htc); 复制代码代码如下: &lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”&gt; &lt;html xmlns=”...

    让IE 6,7,8支持CSS3的部分属性及htc的应用

    让IE 6,7,8支持CSS3的部分属性。今天要给大家介绍的这个htc,它可以让IE浏览器支持CSS3的...比如 当前文件在“/”下 ,CSS文件在“/CSS”下,PIE.htc在“/CSS”下,behavior: url(/css/PIE.htc) 而不是behavior: url

    网页制作完全手册(HTML/CSS) 参考

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

    让IE中支持css3.0效果

    但凡是前端工程师,都知道IE6,IE7,IE8不支持、或者不完全支持CSS3的属性。 CSS3 有很多很强大、绚丽的效果,比如,圆角,阴影,渐变透明,渐变背景,等等。 因为IE6时代,没有什么标准,而因为各种原因,IE6用户...

    DHTML 手册

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

    CSS网站布局实录 (第二版)PDF版

    2.6.1 CSS属性与选择符 2.6.2 类型选择符 2.6.3 群组选择符 2.6.4 包含选择符 2.6.5 id及class选择符 2.6.6 标签指定式选择符 2.6.7 组合选择符 2.6.8 伪类及伪对象 2.6.9 通配选择符 2.7 CSS数据单位 2.8 应用CSS到...

    CSS3支持IE6, 7, and 8的边框border属性

    我们都知道,IE 6,7不支持新增加的CSS3...使用方法很简单: behavior: url(ie-css3.htc); 代码 复制代码代码如下: .box { -moz-border-radius: 15px; /* Firefox */ -webkit-border-radius: 15px; /* Safari and Chrom

    一个小脚本HTC文件补丁让 IE6, 7和 8支持CSS3

    让 IE6, 7和 8支持CSS3 IE6,7并不支持CSS3的属性,IE8也不能很好的支持CSS3。但是有一个小脚本能够做到,它可以让IE支持CSS3,包括:border-radius (rounded), box-shadow ( shadow), text-shadow等…… 如果你...

    iron-overlay-behavior:将元素设置为带有可选背景的叠加层

    铁覆盖行为使用IronOverlayBehavior可以实现可以隐藏或显示并在其他内容之上显示的元素。 它包括一个可选的背景,可用于实现各种UI控件,包括对话框和下拉菜单。 可以一次显示多个覆盖... 您可以使用CSS手动定位和调整

    CSS横向下拉菜单(兼容IE6)

    CSS驱动的横向下拉菜单(改进版) 由于我的IE是IE7的,所以起初没有意识到那个下拉菜单在IE6中不能显示,今天刚把IE7卸了装了IE6,一般的,由于CSS驱动的下拉菜单不能在IE6中正常工作,大多数人会选择用JavaScript去...

    HTC最完全介绍

    DHTML行为不使用标签,它们使用的是名为"behavior"的CSS属性。"behavior"规定了指向某个HTC文件的URL,此文件含有实际的行为(HTC文件使用XML编写)。HTC是 HTML Component 的缩写,是 IE5.0 的主要扩展之一,除了...

    JavaScript 拾碎[三] 使用className属性

    B 使用className 属性 Javascript 还可以通过className 属性灵活的更改一个标签元素的CSS 类选择器来实现样式的变化。 代码示例: 代码如下: &lt;html&gt; &lt;head&gt; &lt;title&gt;追加CSS类别&lt;/title

    html标签属性大全(整理已完成)

    &lt;marquee behavior=slide&gt;...滑动 &lt;marquee behavior=scroll&gt;...预设卷动 &lt;marquee behavior=alternate&gt;...来回卷动 &lt;marquee direction=down&gt;...向下卷动 &lt;marquee direction=up&gt;...向上卷动 ...

    浅析border-radius如何兼容IE

    解决办法就是在用的border-radius属性的后面加上:behavior: url(ie-css3.htc); XML/HTML Code复制内容到剪贴板 &lt;!DOCTYPE html&gt;  &lt;html lang=en&gt;  &lt;head&gt;  &lt;meta charset=UTF-8&gt;  ...

    34款经典Dreamweaver插件

    Text to SWF 类别:DW Command 把文档中选定的文字转换成SWF文件(奇妙的功能!) 增强DW的ASP+编码功能的插件 ...CSS on Resolution 类别:DW Command 文件格式:mxp 根据分辨率不同载入不同的外部样式表

    asp.net知识库

    从NUnit中理解.NET自定义属性的应用(转载) 如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制的简单实现 我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 ...

Global site tag (gtag.js) - Google Analytics