[Javascript]cssText基本使用指北

一练般、cssText之起步

那些年,我們是這樣設(shè)置樣式的:

xxx.style.width = "233px";
xxx.style.position = "fixed";
xxx.style.left = "233px";

現(xiàn)如今祈纯,我們可以這樣搞:

xxx.style.cssText="width:233px;height:233px;position:fixed";

W3C是這樣描述cssText

cssText糠爬,DOMString類型
cssText特性必須返回序列化的CSS規(guī)則。
當(dāng)設(shè)置cssText特性時(shí)運(yùn)行這些步驟:
 1. 解析其值刽脖。
 2. 如果解析失敗則終止運(yùn)行羞海。
 3. 如果新對(duì)象的type并不匹配當(dāng)前對(duì)象的type則拋出"InvalidModificationError"異常。
 4. 替換當(dāng)前對(duì)象為新對(duì)象曲管。

我以為關(guān)鍵在于第四條:

替換當(dāng)前對(duì)象為新對(duì)象却邓。

替換,也就是說(shuō)會(huì)覆蓋到目標(biāo)元素之前本身所具有的全部樣式(繼承的不算)申尤。

舉個(gè)栗子:

這里有一個(gè)<div>,長(zhǎng)下面這個(gè)模樣:

.xxx {height:233px;width:233px;background:#F60;}

然后我要改變它的高度昧穿,我可以這么寫(xiě):

xxx.style.height= "466px";

但是客官你不可以這么寫(xiě):

xxx.style.cssText="height:466px;";

二橙喘、cssText之提速

基于上面的原因时鸵,我們?cè)谑褂胏ssText修改某個(gè)元素樣式的時(shí)候,需要首先得到它當(dāng)前的樣式:

var xxx = document.getElementById("warp");
var xxx_style = xxx.style.cssText;

然后在加上現(xiàn)在的樣式:

xxx_style += "position:fixed;"
xxx.style.cssText = xxx_style;

但是,客官如果貴司有下面這種情況饰潜,還請(qǐng)留步。

瀏覽器分布
瀏覽器分布

面對(duì)這種喪心病狂彭雾、男默女淚的情況,我們需要額外注意一點(diǎn):

當(dāng)我們使用var xxx_style = xxx.style.cssText;得到樣式的時(shí)候薯酝,最后是沒(méi)有分號(hào)的半沽。

也就是說(shuō),如果某個(gè)元素的樣式是:height: 100px; width: 100px;overflow: hidden;

在IE6/7/8下我們會(huì)得到:HEIGHT: 100PX; WIDTH: 100PX; OVERFLOW: HIDDEN

最后的分號(hào)被丟掉了吴菠。

結(jié)果就是當(dāng)我們?cè)偈褂?/p>

xxx_style += "background:#F60;"
xxx.style.cssText = xxx_style;

來(lái)處理樣式時(shí)者填,會(huì)出現(xiàn):height: 100px; width: 100px; overflow: hiddenbackground:#F60;

當(dāng)然你可以選擇使用:xxx_style = "background:#F60;" + xxx_style的方式做葵,最后沒(méi)有分號(hào)也不會(huì)影響,但是世事難料酿矢,安全起見(jiàn),還是額外判斷一下谬哀,補(bǔ)上這個(gè)分號(hào)比較可靠严肪。

除此以外史煎,IE6/7/8下返回的屬性和值全是大寫(xiě)驳糯,為了避免日后出現(xiàn)意外,還是.toLowerCase( )比較好酝枢。

三恬偷、cssText之靠邊停車

大家一路上在前端的道路上馳騁下去吧帘睦,就不用靠邊停車了!

馬上就要回家給偉大的祖國(guó)母親慶祝生日了诡延,微博上出現(xiàn)了2種不同的聲音:

作業(yè)本同學(xué)說(shuō):


這個(gè)點(diǎn)還在上班的人古胆,必將成為億萬(wàn)富人筛璧!
這個(gè)點(diǎn)還在上班的人惹恃,必將成為億萬(wàn)富人!

某注明作家(反正我是不認(rèn)識(shí))說(shuō):


現(xiàn)在還在上班的巫糙,這輩子也就這樣了。
現(xiàn)在還在上班的采蚀,這輩子也就這樣了。

作為還在上班(班,小名SegmentFault)的人纲爸,我就不說(shuō)什么了...

大家國(guó)慶節(jié)快樂(lè)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末负蚊,一起剝皮案震驚了整個(gè)濱河市颓哮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冕茅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哨坪,死亡現(xiàn)場(chǎng)離奇詭異乍楚,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)徒溪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)臊泌,“玉大人,你說(shuō)我怎么就攤上這事缺虐。” “怎么了慧妄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)塞淹。 經(jīng)常有香客問(wèn)我,道長(zhǎng)运挫,這世上最難降的妖魔是什么套耕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮冯袍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘儡循。我一直安慰自己征冷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布检激。 她就那樣靜靜地躺著,像睡著了一般每庆。 火紅的嫁衣襯著肌膚如雪今穿。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天蓝晒,我揣著相機(jī)與錄音,去河邊找鬼胚嘲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛馋劈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妓雾,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼械姻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼妒蛇!你這毒婦竟也來(lái)了楷拳?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陶耍,失蹤者是張志新(化名)和其女友劉穎她混,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體产上,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛾狗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年沉桌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片留凭。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖兼耀,靈堂內(nèi)的尸體忽然破棺而出求冷,到底是詐尸還是另有隱情瘤运,我是刑警寧澤匠题,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站郁季,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梦裂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一菠净、第九天 我趴在偏房一處隱蔽的房頂上張望彪杉。 院中可真熱鬧毅往,春花似錦派近、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谱轨。三九已至,卻和暖如春土童,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背献汗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罢吃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓矾柜,卻偏偏與公主長(zhǎng)得像就谜,于是被迫代替她去往敵國(guó)和親把沼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吁伺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,756評(píng)論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color捆愁,font,text-align昼丑,li...
    wzhiq896閱讀 1,759評(píng)論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color菩帝,font咖城,text-align呼奢,li...
    love2013閱讀 2,316評(píng)論 0 11
  • CSS技巧 1.div的垂直居中問(wèn)題 vertical-align:middle; 將行距增加到和整個(gè)DIV一樣高...
    tiandashu閱讀 309評(píng)論 0 2
  • 模仿成功人士禀综,是我們走向成功的第一條路徑,但是很多人都迷失在了這條路上定枷,沒(méi)有能力走向后面的兩條路,那就是破除模仿和...
    貓良貓良閱讀 134評(píng)論 0 0