亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

優化瀏覽器渲染:避免CSS expressions

2024-07-11 09:03:00
字體:
來源:轉載
供稿:網友

武林網(www.49028c.com)文章簡介:CSS表達式會降低瀏覽器的渲染性能;用其他方案替換它們將會改善IE瀏覽器的渲染性能。

概述

CSS表達式會降低瀏覽器的渲染性能;用其他方案替換它們將會改善IE瀏覽器的渲染性能。

注意:本節最佳實踐只適用于Internet Explorer 5到7,它們支持CSS表達式。Internet Explorer 8放棄使用CSS表達式,而其他瀏覽器是不支持的。

詳細信息

作為一種動態改變文檔屬性來響應各種事件的的手段,Internet Explorer 5引入了CSS表達式或 “動態屬性”。它們由在CSS聲明中的CSS屬性值里嵌入JavaScript表達式構成。在大多數情況下,它們用于以下目的:

模擬其他瀏覽器支持但IE瀏覽器尚未支持的標準CSS屬性。

使用比編寫全面JavaScript注入式樣式更小巧,更便捷的方法,來提供動態樣式和高級的事件處理。

不幸的是,CSS表達式對于性能的不良影響是相當大的,因為每當有事件觸發,瀏覽器都要重新計算每個表達式,如一個窗口改變大小,鼠標移動等。CSS表達式的低性能表現是IE 8棄用它們的原因之一。如果你在網頁里使用CSS表達式,應該盡一切努力來消除它們并且使用其他方法來達到同樣的功能。

建議

盡可能使用標準的CSS屬性。

IE 8已高度兼容標準CSS;IE 8只有在“兼容”模式才支持運行CSS表達式,而在“標準”模式下則不支持。如果你不需要向后兼容舊版本的IE,你應該轉換成標準的CSS屬性來替換所有對應的CSS表達式。如需CSS屬性和支持它們的IE版本的完整列表,請參見MSDN的CSS屬性索引。如果你確實需要支持所需CSS屬性不可用的舊版本IE瀏覽器,請使用JavaScript來實現等效的功能。

使用JavaScript腳本樣式。

如果你正在使用CSS表達式來實現動態樣式,用純JavaScript重寫它們是很有意義的,因為這樣既能提高IE性能,同時在其他瀏覽器獲得相同效果的支持。在這個由MSDN動態屬性頁提供的例子里,下面的CSS表達式用于在瀏覽器里居中一個HTML塊元素,并且該元素的尺寸可以在運行時改變,每次調整窗口大小都能重新定位在瀏覽器中心:

<div id="oDiv" style="background-color: #CFCFCF; position: absolute;left:expression(document.body.clientWidth/2-oDiv.offsetWidth/2);top:expression(document.body.clientHeight/2-oDiv.offsetHeight/2)">Example DIV</div>

下面是一個使用JavaScript和標準CSS的等價例子:

<style>  #oDiv { position: absolute; background-color: #CFCFCF;}</style><script type="text/javascript"> // Check for browser support of event handling capability  if (window.addEventListener) {  window.addEventListener("load", centerDiv, false); window.addEventListener("resize", centerDiv, false);  } else if (window.attachEvent) {  window.attachEvent("onload", centerDiv);  window.attachEvent("onresize", centerDiv);  } else {  window.onload = centerDiv;  window.resize = centerDiv;  }  function centerDiv() {  var myDiv = document.getElementById("oDiv");  var myBody = document.body;  var bodyWidth = myBody.offsetWidth;  //Needed for Firefox, which doesn't support offsetHeight  var bodyHeight; if (myBody.scrollHeight) bodyHeight = myBody.scrollHeight; else bodyHeight = myBody.offsetHeight;  var divWidth = myDiv.offsetWidth;  if (myDiv.scrollHeight)   var divHeight = myDiv.scrollHeight;   else var divHeight = myDiv.offsetHeight;myDiv.style.top = (bodyHeight - divHeight) / 2;  myDiv.style.left = (bodyWidth - divWidth) / 2;  }</script>

如果您使用CSS表達式來模擬早期IE版本中不可用的CSS屬性,你應該提供版本測試的javascript代碼,為支持CSS的瀏覽器禁止CSS表達式。舉例來說,max-width屬性,這個屬性在一定數量的像素范圍內強制文本換行,在IE 7前是不支持的。下面的CSS表達式作為一種解決方法,為IE 5和6提供了這個功能:

p { width: expression( document.body.clientWidth > 600 ? "600px" : "auto" ); }

為不支持此屬性的IE瀏覽器版本使用等價的JavaScript替換CSS表達式,可以使用類似于下面的內容:

<style>  p { max-width: 300px; }</style><script type="text/javascript">  if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) < 7))  window.attachEvent("onresize", setMaxWidth);  function setMaxWidth() {  var paragraphs = document.getElementsByTagName("p");  for ( var i = 0; i < paragraphs.length; i++ )  paragraphs[i].style.width = ( document.body.clientWidth > 300 ? "300px" : "auto" );</script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲视频中文字幕视频| 日韩免费在线看| 热久久美女精品天天吊色| 国产人妖伪娘一区91| 国产精品视频一| 久久久久久久亚洲精品| 日本久久亚洲电影| 国产做受69高潮| 亚洲成**性毛茸茸| 久久精品视频在线观看| 精品久久久久久久久久| 欧美大胆在线视频| 国产精品夫妻激情| 日韩精品福利在线| 亚洲精品日韩激情在线电影| 九九久久精品一区| 91最新国产视频| 伊人青青综合网站| 久久天天躁狠狠躁老女人| 91国产在线精品| 精品国产电影一区| 国产第一区电影| 国产精品福利网| 国产97在线|亚洲| 亚洲九九九在线观看| 亚洲激情视频网站| 国产va免费精品高清在线| 欧美亚洲另类在线| 日韩美女写真福利在线观看| 韩日欧美一区二区| 日韩免费精品视频| 国产精品亚洲一区二区三区| 日韩精品视频免费专区在线播放| 亚洲色图13p| 欧美福利视频在线观看| 97国产成人精品视频| 亚洲毛片在线免费观看| 亚洲精品一区二区三区婷婷月| 欧美国产高跟鞋裸体秀xxxhd| 欧美成aaa人片免费看| 亚洲精品国产电影| 欧美午夜精品久久久久久久| 欧美视频在线观看免费| 91精品国产精品| 2019中文字幕在线免费观看| 亚洲美腿欧美激情另类| 国产精品一区二区三区免费视频| 国产91精品网站| 92福利视频午夜1000合集在线观看| 国产丝袜视频一区| 国产综合在线视频| 欧美亚洲国产日韩2020| 国产精品久久91| 九九热这里只有精品免费看| 亚洲精品xxx| 不卡av在线播放| 欧美日韩亚洲高清| 欧美精品久久久久a| 国产美女91呻吟求| 最近的2019中文字幕免费一页| 中文字幕日韩欧美在线| 国产99久久精品一区二区 夜夜躁日日躁| 91久久久亚洲精品| 欧美精品一本久久男人的天堂| 国产日本欧美视频| 国产精品私拍pans大尺度在线| 国产人妖伪娘一区91| 国产精品91久久| 欧美激情第99页| 中文字幕精品av| 岛国视频午夜一区免费在线观看| 国产精品一久久香蕉国产线看观看| 亚洲伊人成综合成人网| 日韩精品视频免费| 亚洲欧洲国产伦综合| 国产精品网红福利| 成人黄色av网| 最近2019年日本中文免费字幕| 亚洲欧美日韩久久久久久| 青青久久av北条麻妃黑人| 国产美女扒开尿口久久久| 日韩视频在线免费观看| 国产精品午夜国产小视频| 91成人在线观看国产| 国产精品福利久久久| 久久免费少妇高潮久久精品99| 久久久久久久一区二区| 亚洲香蕉成视频在线观看| 亚洲激情在线视频| 2021久久精品国产99国产精品| 国产综合久久久久| 欧美孕妇孕交黑巨大网站| 久久露脸国产精品| 91精品久久久久久久久久久久久久| 伊人久久五月天| 欧洲成人免费aa| 国产精品亚洲第一区| 国产精品久久久久久久久久久新郎| 亚洲一区美女视频在线观看免费| 精品综合久久久久久97| 亚洲黄色在线观看| 成人h视频在线观看播放| 91精品久久久久久久久久入口| 日韩av电影中文字幕| 91精品国产91久久久久久最新| 久久精品视频中文字幕| 久久99视频免费| 国产日韩av在线播放| 国产成人免费91av在线| 色综合久久久久久中文网| 国产日韩精品一区二区| 国产91成人在在线播放| 色老头一区二区三区在线观看| 亚洲国产精品久久久久秋霞蜜臀| 日韩免费在线观看视频| 亚洲精品一区二区在线| 欧美专区福利在线| 日本韩国欧美精品大片卡二| 日韩美女视频免费看| 亚洲国产成人久久综合| 九九热精品视频| 欧美黄色成人网| 正在播放亚洲1区| 欧洲日本亚洲国产区| 欧美综合在线第二页| 国产精品av在线播放| 精品久久久久久久大神国产| 国产一区二区色| 国产精品一区二区三区免费视频| 亚洲电影中文字幕| 国a精品视频大全| 国产精品日韩一区| 久久噜噜噜精品国产亚洲综合| 精品久久香蕉国产线看观看gif| 亚洲美女av在线播放| 久久精品国产综合| 日韩电影中文字幕在线观看| 最近2019中文字幕在线高清| 亚洲欧美日韩精品久久亚洲区| 亚洲欧洲成视频免费观看| 欧美久久精品午夜青青大伊人| 亚洲精品中文字幕av| 成人免费直播live| 中文字幕亚洲综合| 亚洲欧美中文日韩在线v日本| 欧美日韩亚洲系列| 亚洲精品美女在线观看播放| 欧美激情久久久| 精品久久久久久亚洲精品| 中文.日本.精品| 国产精品电影一区| 中文字幕亚洲欧美日韩在线不卡| 国产成人一区二| 欧美亚洲另类在线| 国产欧美日韩精品丝袜高跟鞋| 精品在线小视频| 久久久久www| 成人在线观看视频网站| www.日本久久久久com.| 亚洲香蕉伊综合在人在线视看| 欧美日韩国产精品一区| 91久久在线观看| 亚洲精选一区二区| 国产精品自产拍高潮在线观看|