css最強屬性

語法: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個應用在自己的網站測試成功
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章