style物件的cssText方法有哪些使用方法

php中世界最好的语言
發布: 2018-02-22 09:35:43
原創
2220 人瀏覽過

這次帶給大家style物件的cssText方法有哪些使用方法,style物件的cssText方法使用的注意事項有哪些,下面就是實戰案例,一起來看一下。

cssText 本質是什麼?

  cssText 的本質就是設定 HTML 元素的 style 屬性值。

cssText 怎麼用?

domElement.style.cssText = "color:red; font-size:13px;";
登入後複製

cssText 傳回值是什麼?

在某些瀏覽器中(例如 Chrome),你給他什麼值,它就會回傳什麼值。在IE 中則比較痛苦,它會格式化輸出、會把屬性大寫、會改變屬性順序、會去掉最後一個分號,例如:

 document.getElementById("d1").style.cssText = "color:red; font-size:13px;";2 alert(document.getElementById("d1").style.cssText);
登入後複製

在IE 中值為:FONT-SIZE: 13px; COLOR: red

cssText的使用優勢

  一般情況下我們用js設定元素物件的樣式會使用這樣的形式:

    var element= document.getElementById(“id”);
    element.style.width=”20px”;
    element.style.height=”20px”;
    element.style.border=”solid 1px red”;
登入後複製

樣式一多,程式碼就很多;而且透過JS來覆蓋物件的樣式是比較典型的一種銷毀原樣式並重建的過程,這種銷毀和重建,都會增加瀏覽器的開銷。

  js中有一個cssText的方法:

  domElement.style.cssText=”样式”;
  domElement.style.cssText=”width:20px;height:20px;border:solid 1px red;”;
登入後複製

  這樣就可以盡量避免頁面reflow,提高頁面效能。

  但是,這樣會有一個問題,會把原來的cssText清除掉,例如原來的style中有'display:none;',那麼執行完上面的JS後,display就被刪掉了。
  為了解決這個問題,可以採用cssText累積的方法:

 domElement.style.cssText += ‘;width:100px;height:100px;top:100px;left:100px;’
登入後複製

  再進一步,如果前面有樣式表檔案寫著div { text-decoration:underline; },這個會被覆蓋嗎?不會!因為它不是直接作用於 HTML 元素的 style 屬性。

  具體案例分析:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>控制div属性</title>
<style>
#outer{width:500px;margin:0 auto;padding:0;text-align:center;}
#div1{width:100px;height:100px;background:black;margin:10px auto;display:block;}
</style>
<script>
var changeStyle = function (elem, attr, value)
{
    elem.style[attr] = value
};
window.onload = function ()
{
    var oBtn = document.getElementsByTagName("input");
    var oDiv = document.getElementById("div1");
    var oAtt = ["width","height","background","display","display"];
    var oVal = ["200px","200px","red","none","block"];
 
    for (var i = 0; i < oBtn.length; i++)
    {
        oBtn[i].index = i;
        oBtn[i].onclick = function ()
        {
            this.index == oBtn.length - 1 && (oDiv.style.cssText = "");
            changeStyle(oDiv, oAtt[this.index], oVal[this.index])
        }  
    }
};
</script>
</head>
<body>
<div id="outer">
<input type="button" value="变宽" />
<input type="button" value="变高" />
<input type="button" value="变色" />
<input type="button" value="隐藏" />
<input type="button" value="重置" />
<div id="div1"></div>
</div>  
</body>
</html>
登入後複製

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

html與xhtml和xml有什麼區別

iframe的子頁如何操作父頁屏蔽頁面彈出層效果

以上是style物件的cssText方法有哪些使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板