欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > IE對CSS樣式表的限制分析與解決方案

IE對CSS樣式表的限制分析與解決方案

熱門標簽:ai電話機器人效果差 地圖標注微信好友 南昌電話機器人系統 沈陽400電話辦理多少錢 蘇州做電話機器人 隨州外呼系統廠家 南山電話機器人 地圖標注樓盤 快速更改地圖標注點標
HTML文檔與CSS的關聯常見有4種方式:

使用link標記

link rel="stylesheet" type="text/css" href="sheet.css" />
使用style元素

style type="text/css">
body{background:#fff;}
h1{font-size:2em;}
/style>
使用@import指令

style type="text/css">
@import url(sheet1.css);
@import "sheet2.css";
/style>
使用style屬性的內聯樣式(inline style)

p style="color:#f00;">這是紅色的字/p>
在實際應用中,使用style屬性的內聯樣式是不推薦使用的,XHTML1.1已經將其標準為不建議使用,原因很簡單這種方式不比font標記強多少,削弱了CSS集中控制整個文檔外觀的優點。前3種方式利用了link標記和style標記,在IE(包括IE6、IE7和IE8 beta1)中有如下限制:

文檔中只有前31個link或style標記關聯的CSS能夠應用。

從第32個開始,其標記關聯的CSS都將失效。IE的官方文檔All style tags after the first 30 style tags on an HTML page are not applied in Internet Explorer也提及這個限制,包括在使用.xsl的.xml文件也有這個限制。但是似乎寫錯了數量。請在IE看:

例1:34個style標記同時應用
例2:1個style標記和34個link標記同時應用
一個style標記只有前31次@import指令有效應用。

從第32個@import指令開始忽略。請看:

例3:在一個style標記中使用34次@import指令。

一個css文件只有前31次@import指令有效應用。

從第31個@import指令開始忽略。請看:

例4:用link標記引入一個使用34次@import指令的css文件
例5:用style標記引入一個使用34次@import指令的css文件
例6:用link和style標記分別引入一個使用31次@import指令以上的css文件
一個CSS文件的不能超過288kb?

這個消息來自Internet Explorer CSS File Size Limit。

@import指令下層疊限制不能超過4層

在IE下通過@import指令引入css文件時,第5層會失效。這個限制來自Cascade limit via @import rule。實際上,由于瀏覽器對多層嵌套的支持不完善,所以即使不得已使用了@import指令引入CSS文件,也不要超過2層。

IE對CSS的限制在絕大部分情況下是不會遇到的,即使遇到最佳的解決方案也應該是手動或者通過后端程序對CSS文件和響應的標記進行合并,最小化的http請求數是優化頁面呈現的第一原則。

在IE中,可以通過document.styleSheets對象(Firefox、Opera9和Safari3.1都支持)修改內聯和嵌入樣式的值。該對象僅在文檔包含style或link元素時可用,其實用document.styleSheets.length就可以看出IE下這個值最大是31。下面是利用Javascript來合并link和style標記來解決IE下的限制:

var fnMergeStyleSheet = function(){
if(!document.styleSheets){
    return;
}
var aSheet = document.styleSheets,
    aStyle = document.getElementsByTagName('style'),
    aLink  = document.getElementsByTagName('link');
    if(aStyle.length + aLink.length  32 || !aSheet[0].cssText){
        //document.styleSheets.cssText只有IE支持
        return;
    }
    var aCssText = [],aCloneLink = [];
    //把style標簽中的樣式存入,然后刪掉該標簽,但保留第一個
    //因為由getElementsByTagName方法返回值是nodeList,所以刪除時循環用倒序
    for(var i=aStyle.length-1;i>-1;–i){
        var o = aStyle[i];
            aCssText.push(o.innerHTML);
            if(i>0){
                o.parentNode.removeChild(o);
            }
    }
    //在IE中只有在31之內的link標簽才能通過其styleSheet.cssText獲取樣式
       //無法的獲取復制到一個數組aCloneLink中
    for(var i=aLink.length-1;i>-1;–i){
       var o = aLink[i];
          if(o.getAttribute  o.getAttribute('rel')==='stylesheet'){
               if(o.styleSheet){
                  aCssText.push(o.styleSheet.cssText);
               }else{
                   aCloneLink.push(o.cloneNode(true));
               }
               if(i>0){
                   o.parentNode.removeChild(o);
               }
          }
    }
    var oHead = document.getElementsByTagName('head')[0];
    //通過前面的刪除,前31個link或者style標記最多只剩下2個
    //通過重新增加link節點的方法激活其styleSheet屬性,從而獲取樣式
    for(var i = aCloneLink.length-1;i>-1;–i){
        var o = aCloneLink[i];
        oHead.appendChild(o);
        aCssText.push(o.styleSheet.cssText);
        oHead.removeChild(o);
    }
   //把所有的樣式都復制給第一個標簽
    aSheet[0].cssText += aCssText.join(”);
}
上面僅僅是一個簡單的粗糙的解決方案,演示請看例1和例2,可以改進的地方還有:

沒有考慮media這個屬性,如果有多個media應該分別合并,當然更沒有考慮link標記的rel="alternate stylesheet"帶來的影響。但我更建議通過@media指令把相應的樣式寫在同一個文件中,至少可以減少HTTP連接數。 
沒有解決@import指令31次限制的問題,其實可以提取其href值然后進行激活處理。但是實際應用在建議用link標記來替代@import指令,應為在IE中@import指令相當與把link標記寫在文檔的底部,會導致在IE5/6頁面加載時瞬間無樣式問題,學名叫“Flash of Unstyled Content”(簡稱為FOUC)的bug,當然可以通過在文檔頭中放一個link或script元素可以避免這個bug。 
一般來講頁面之所有出現大量的link或者style標簽很可能有很多是相同的,可以在aCssText合并前除掉相同的項,減少代碼量。 
如果不用DOM中已存在的樣式元素直接通過cssText屬性添加樣式代碼,而是創建一個新的樣式元素來添加,一定要注意先把新建的樣式元素先添加到DOM中,然后再通過cssText屬性添加樣式代碼。反之,其添加的樣式代碼似乎先被IE6的樣式解析器解析后才添加,這樣!imporant和hack都將失效。請看例7。不建議通過添加新的樣式元素的方式來添加新的樣式,這樣很容易達到IE的限制條件。

標簽:深圳 濰坊 石家莊 昭通 商洛 玉樹 大同 濰坊

巨人網絡通訊聲明:本文標題《IE對CSS樣式表的限制分析與解決方案》,本文關鍵詞  對,CSS,樣式,表,的,限制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《IE對CSS樣式表的限制分析與解決方案》相關的同類信息!
  • 本頁收集關于IE對CSS樣式表的限制分析與解決方案的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产综合久久久久影院| 蜜桃传媒一区二区亚洲av| 成年人免费视频播放| 精品国产91乱码一区二区三区| 偷窥国产亚洲免费视频| 污污免费在线观看| 欧美久久久一区| 午夜精品福利一区二区蜜股av | 日韩电影免费在线看| 免费啪视频在线观看| 欧美另类videos死尸| 亚洲成av人片一区二区| 国产一级黄色录像| 日韩欧美视频一区| 久久精品国产一区二区三| 日本一级免费视频| 国产喂奶挤奶一区二区三区| 国产乱码一区二区三区| 国产第一页浮力| 国产精品护士白丝一区av| 成人手机电影网| 日本乱人伦一区| 亚洲一区二区三区小说| 中文字幕三级电影| 日韩欧美一区在线| 激情六月婷婷久久| 内射一区二区三区| 亚洲免费观看高清| 亚洲图片综合网| xf在线a精品一区二区视频网站| 激情亚洲综合在线| 国产精品丝袜一区二区| 亚洲精品videosex极品| 性囗交免费视频观看| 精品国产自在久精品国产| 国产乱子轮精品视频| 色狠狠色狠狠综合| 日韩国产欧美在线播放| 免费看黄色三级| 17c精品麻豆一区二区免费| 少妇极品熟妇人妻无码| 精品国产污污免费网站入口| 国产精品亚洲视频| 精品视频一区三区九区| 蜜臀av性久久久久av蜜臀妖精| 农村老熟妇乱子伦视频| 亚洲免费观看视频| www国产视频| 日本一区二区三区国色天香 | 国产91综合一区在线观看| 91久久国产综合久久| 三级亚洲高清视频| 亚洲aaa视频| 亚洲一区二区在线免费观看视频| 久久精品国产亚洲av久| 国产精品国产自产拍在线| 国产亚洲精品成人a| 久久中文娱乐网| 91女厕偷拍女厕偷拍高清| 日韩精品一区二区在线观看| 丁香一区二区三区| 欧美一区二区高清| 成人久久视频在线观看| 欧美一区二区三区电影| 成人午夜私人影院| 欧美一二三四区在线| 成人手机在线视频| 精品人在线二区三区| 99精品视频中文字幕| 欧美精品一区二区蜜臀亚洲| 91丨国产丨九色丨pron| www一区二区| 日本人妻一区二区三区| 国产色一区二区| 欧美一级片黄色| 18成人在线视频| 国产又粗又黄又猛| 亚洲最色的网站| 亚洲熟女毛茸茸| 免费在线一区观看| 欧美亚洲国产一区在线观看网站| 国产麻豆视频精品| 欧美一级二级三级蜜桃| jiyouzz国产精品久久| 久久久亚洲午夜电影| 中国特级黄色大片| 亚洲欧洲另类国产综合| 公肉吊粗大爽色翁浪妇视频| 午夜欧美视频在线观看| 在线中文字幕一区| 国产一区二区调教| 日韩欧美国产综合一区| 黄页网站在线看| 中文字幕亚洲电影| 在线观看免费黄色网址| 免费人成精品欧美精品| 欧美日韩成人综合在线一区二区 | 国产大片一区二区| 精品久久一二三区| 国产精品一级黄片| 亚洲成av人片在线观看无码| 色天天综合色天天久久| 高清不卡一区二区| 日本一区二区三区四区| 成人在线观看免费高清| 蜜桃精品视频在线| 91精品国模一区二区三区| 99国产精品免费视频| 亚洲啪啪综合av一区二区三区| 99精品中文字幕| 国产一区二区三区在线观看精品| 欧美成人综合网站| 欧美熟妇精品黑人巨大一二三区| 午夜伦欧美伦电影理论片| 欧美日韩视频专区在线播放| 91尤物视频在线观看| 亚洲免费视频中文字幕| 91久久人澡人人添人人爽欧美| 成人性视频免费网站| 国产精品视频一区二区三区不卡| 日韩一级av毛片| 韩国精品一区二区| 久久久精品人体av艺术| 日本综合在线观看| 国产老妇另类xxxxx| 国产亚洲欧美一级| 激情高潮到大叫狂喷水| 国产精品123| 国产精品久久久久久久久免费桃花 | 国产真实乱偷精品视频免| 精品av综合导航| 亚洲综合欧美综合| 国产露脸91国语对白| 欧美激情一区二区三区蜜桃视频| 国内毛片毛片毛片毛片毛片| 欧美日韩国产精选| 亚洲自拍偷拍精品| 日日欢夜夜爽一区| 日韩精品一区二区三区四区| 欧美黄色一级生活片| 国产一区二区三区免费看| 欧美经典一区二区| 色综合天天综合色综合av| 91在线免费播放| 亚洲国产cao| 日韩你懂的在线观看| 国产传媒在线看| 成人av在线网| 亚洲韩国一区二区三区| 欧美一二三区在线| 女人裸体性做爰全过| 99久久婷婷国产精品综合| 亚洲国产精品久久久久秋霞影院 | 黄色正能量网站| 蜜桃一区二区三区在线| 久久久久国产精品麻豆ai换脸 | 亚洲高清不卡在线观看| 欧美一区二区三区在| 51妺嘿嘿午夜福利| 成人毛片视频在线观看| 亚洲五月六月丁香激情| 欧美成人艳星乳罩| 国产精品视频看看| 日本55丰满熟妇厨房伦| 日本成人在线看| 国产视频一区二区三区在线观看| 色先锋久久av资源部| 日韩成人av一区二区| 国产精品自拍av| 亚洲在线视频网站| 久久综合色综合88| 色视频一区二区| 日本一区二区在线免费观看| 国产乱子伦视频一区二区三区 | 日韩精品电影在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 日本91福利区| 国产精品久久久99| 69堂成人精品免费视频| 波多野结衣欲乱| 色哟哟无码精品一区二区三区| 国产自产高清不卡| 亚洲国产三级在线| 亚洲精品乱码久久久久| 欧美视频中文字幕| 久久精品成人av| 99热这里都是精品| 美女视频一区二区三区| 最好看的中文字幕久久| 欧美一级免费大片| 国产一二三四区| 大黑人交xxx极品hd| 99久久婷婷国产综合精品| 久久精品国产999大香线蕉| 亚洲乱码国产乱码精品精的特点| 日韩你懂的在线观看| 欧美亚洲免费在线一区| 国产黄色大片免费看| 日本在线不卡一区二区| 成人一区二区三区中文字幕|