真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

腳本化CSS

  1. box-sizing:標準css盒模型規(guī)定width和height樣式屬性給定內(nèi)容區(qū)域的尺寸,并且不包含內(nèi)邊距和邊框??梢苑Q此盒模型為“內(nèi)容盒模型”。在老版IE里和新版的CSS中都有一些例外,在IE6之前和當IE6~8在“怪異模式”下顯示一個頁面時(頁面中缺少或有一個不夠嚴格的doctype時),width和height屬性確是包含內(nèi)邊距和寬度的。

    創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的巨野網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

  2. 腳本化內(nèi)聯(lián)樣式:style屬性是一個CSSStyleDeclaration對象。如果一個CSS屬性名包含一個或多個連字符,CSSStyleDeclaration屬性名的格式應該是移除連字符,將每個連字符后面緊跟著的字母大寫。這樣CSS屬性border-left-width的值在Javascript中通過borderLeftWidth屬性進行訪問,另外,當一個CSS屬性(如float屬性)在JavaScript中對應的名字是保留字時,在之前加css前綴來創(chuàng)建合法的CSSStyleDeclaration名字。由此,使用CSSStyleDescription對象的cssFloat屬性來設置或查詢CSS float屬性。

  3. 所有的定位屬性都包含單位。因此,如下代碼設置left屬性是錯誤的:

    e.style.left=300;//錯誤:它是數(shù)字而不是字符串

    e.style.left=”300”;//錯誤:缺少單位

4.有時發(fā)現(xiàn)作為單個字符串值來設置或查詢元素的內(nèi)聯(lián)樣式反而比作為CSSStyleDeclaration對象更加簡單。為此,可以使用getAttribute()和setAttribute()方法或CSSStyleDeclaration對象的cssText屬性來實現(xiàn)。

    //兩者都可設置e的樣式屬性為字符串s;

    e.setAttribute(“style”,s);

    e.style.cssText=s;

    //兩者都可查詢元素的內(nèi)聯(lián)演示

    s=getAttribute(“style”);

    s=e.style.cssText;

5.計算出的樣式:用瀏覽器窗口對象getComputedStyle()方法來獲取一個元素樣式。此方法的第一個參數(shù)就是要獲取其計算樣式的元素,第二個參數(shù)也是必須的,通常為null或空字符串,但它也可以是命名CSS偽對象的字符串,如“:before”、“:after”、“:first-line”或“:first-letter”。該方法返回一個CSSStyleDeclaration對象,它代表了應用在指定元素(或偽元素)上的樣式。表示計算樣式的CSSStyleDeclaration對象和表示內(nèi)聯(lián)樣式的對象之間有一些重要的區(qū)別:

    1) 計算樣式的屬性是只讀的。

    2) 計算樣式的值是絕對值:類似百分比和點之類相對的單位將全部轉(zhuǎn)換為絕對值。所有指定尺寸(例如外邊距大小和字體大?。┑膶傩远加幸粋€以像素為單位的值。該值將是一個冠以“px”后綴的字符串,使用時仍然需要解析它,但是不用擔心單位的解析或轉(zhuǎn)換。其值是顏色的屬性將以”rgb(#,#,#)”或”rgba(#,#,#,#)”的格式返回。

    3) 不計算復合屬性,它們只基于基礎屬性,它們只基于最基礎的屬性。例如,不要查詢margin屬性,應該使用maginLeft和marginTop等。

    4) 計算樣式的cssText未定義

    getComputedStyle()在IE8或更早的版本中沒有實現(xiàn),。在IE中,每個HTML元素有自己的currentStyle屬性,它的值是CSSStyleDeclaration對象。IE的currentStyle組合了內(nèi)聯(lián)樣式和樣式表,但它不是真正的計算樣式,因為那些相對值都沒有轉(zhuǎn)化成絕對值。查詢IE的當前樣式屬性會返回帶相對性單位(如“%”,或“em”)的尺寸或非精確顏色值(如“red”)。

6.標識符class在JavaScript中是保留字,所以JavaScript代碼中通過className來添加和修改class屬性。HTML元素可以有多個CSS類名,class屬性保存了一個用空格隔開的類名列表。className屬性是一個容易誤解的名字:calssNames可能更好。HTML5解決了這個問題,為每個元素定義了classList屬性。該屬性值是DOMTokenList對象:一個只讀的類數(shù)組對象,它包含元素的單獨類名。但是,和數(shù)組元素相比,DOMTokenList定義的方法更加重要。add()和remove()從元素的class屬性中添加和清除一個類名。toggle()表示如果不存在類名就添加一個;否則,刪除它。最后,contains()方法檢測class屬性中是否包含一個指定的類名。DOMTokenList是實時的。以下提供一個兼容方式處理classList的方式。

    /**

     * 如果e有classList屬性則返回它。否則為e模擬DOMTokenList

     * 返回對象有contains(),add(),remove(),toggle()和toString()等方法

     * 來檢測和修改元素e的類集合。如果classList屬性是原生支持的,

     * 返回的類數(shù)組對象有l(wèi)ength和數(shù)組索引屬性。模擬DOMTokenList不是類數(shù)組對象,

     * 但是它有一個toArray()方法返回一個含元素類名的純數(shù)組快照

     */

    function classList(e){

     if(e.classList){

               return e.classList;

     }else{

               return new CSSClassList(e);

     }

    }

    //CSSClassList是一個MonitorDOMTokenList的JavaScript類

    function CSSClassList(e){

     this.e=e;

    }

    //如果e.className包含類名,則返回true;否則返回false

    CSSClassList.prototype.contains=function(c){

     //檢查c是否是合法的類名

     if(c.length===0||c.indexOf(" ")!=-1){

               throw new Error("Invlid classname:'"+c+"'");

     }

     //首先常規(guī)檢查

     var classes=this.e.className;

     if(!classes){

               return false;//e不含類名

     }

     if(classes===c){

               return true;//e有一個完全匹配的類名

     }

     //否則,把c自身看做一個單詞,利用正則表達式搜索c,

     //\b表示正則表達式的邊界

     returnclasses.search("\\b"+c+"\\b")!=-1;

    }

    //如果c不存在,將c添加到e.className中

    CSSClassList.prototype.add=function(c){

     if(this.contains(c)) return;//存在則什么都不做

     var classes=this.e.className;

     if(classes&&classes[classes.length-1]!=""){

               c+=" "+c;//如果已經(jīng)有類,則加空格

     }

     this.e.className+=c;//將c添加到className中

    }

    //將在e.className中出現(xiàn)的所有c都刪除

    CSSClassList.prototype.remove=function(c){

     //檢查c是否是合法的類名

     if(c.length===0||c.indexOf(" ")!=-1){

               throw new Error("Invlid classname:'"+c+"'");

     }

     //將所有作為單詞的c和多余的尾隨空格全部刪除

     var pattern=newRegExp("\\b"+c+"\\b\\s*","g");

     this.e.className=this.className.replace(pattern,"");

    }

    //如果c存在,將c添加到e.className中,并返回true

    //否則,將在e.className中出現(xiàn)的所有c都刪除,并返回false

    CSSClassList.prototype.toggle=function(c){

     if(this.contains(c)){

               this.remove(c);

               return false;

     }else{

               this.add(c);

               return true;

     }

    }

    //返回在e.className本身

    CSSClassList.prototype.toString=function(){

     return this.e.className;

    }

    //返回在e.className中的類名

    CSSClassList.prototype.toArray=function(){

     return this.e.className.match(/\b\w+\b/g)||[];

    }


當前題目:腳本化CSS
URL地址:http://weahome.cn/article/gohiej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部