五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 條件CSS的使用

條件CSS的使用

文章來源:365jz.com     點(diǎn)擊數(shù):146    更新時(shí)間:2009-06-13 23:50   參與評(píng)論

介紹

毫無疑問,任何一個(gè)試圖使用 CSS 的網(wǎng)頁設(shè)計(jì)師和開發(fā)人員都會(huì)發(fā)現(xiàn)不同的瀏覽器要求不同的樣式聲明。這些煩惱歸咎于各瀏覽器及其各版本不同程度的 CSS 執(zhí)行的完整性。條件 CSS 是這個(gè)問題的一個(gè)解決方案,采用的是 Internet Explorer 的條件注釋語法的思想,并把它內(nèi)聯(lián)到 CSS 聲明之中。

基本用法

條件 CSS 主要用于指出一個(gè)特別的 CSS 聲明是不是應(yīng)該用于一個(gè)特別的瀏覽器。當(dāng)然你不希望經(jīng)常這么做,但是當(dāng)你需要針對(duì)一個(gè)瀏覽器的時(shí)候,它會(huì)非常有用。可以在U4EA支持列表里看到,大部分的瀏覽器都支持這種方式。

任意 CSS 聲明或者塊都可以添加條件聲明前綴,這些前綴有3種基本類型:

[if {!} browser]

[if {!} browser version]

[if {!} condition browser version]

! - 聲明的否定 (例 NOT) - 可選

browser - 聲明針對(duì)的瀏覽器

‘IE’ - Internet Explorer

‘Gecko’ - Gecko 核心的瀏覽器 (Firefox, Camino 等)

‘Webkit’ - Webkit 核心的瀏覽器 (Safari, Shiira 等)

‘SafMob’ - 移動(dòng)版 Safari (iPhone / iPod Touch)

‘Opera’ - Opera 的瀏覽器

‘IEMac’ - Mac 版本的 Internet Explorer

‘Konq’ - Konqueror

‘IEmob’ - 移動(dòng)版 IE

‘PSP’ - Playstation Portable

‘NetF’ - Net Front(恕糖伴西紅柿無知,不知道這是啥東東)

version - 要針對(duì)的瀏覽器版本

condition - 算術(shù)符

lt - 小于

lte - 小于等于

eq - 等于

gte - 大于等于

gt - 大于

一些條件聲明的例子:

// 條件-CSS 語法實(shí)例  

[if IE] - 如果瀏覽器是 IE  

[if ! Opera] - 如果瀏覽器不是 Opera  

[if IE 5] - 如果瀏覽器是 IE 5  

[if lte IE 6] - 如果瀏覽器是 IE 6 或者更低版本 (IE 5, IE 4 等)  

[if ! gt IE 6] - 和上面的聲明等效, 如果瀏覽器版本不高于 IE 6

因?yàn)樵S多實(shí)例認(rèn)為 div 是具有 width 和 padding 的盒類。因此它也應(yīng)該在 IE 5 中表現(xiàn)正常(我發(fā)現(xiàn)很多人已經(jīng)放棄支持 IE 5了,但這是一個(gè)經(jīng)典例子)。IE 5的盒模型不標(biāo)準(zhǔn),因此這就是使用條件 CSS 解決的方法:

// 條件 CSS 盒模型例子 
 
div.box {  

    width: 400px;  
   
    [if IE 5] width: 600px;  
   
    padding: 0 100px;  
}

像你所看到的,條件 CSS 使得你可以只維護(hù)一個(gè) CSS 文件,而不是好幾個(gè)需要用到 IE 的條件注釋的文件。這有助于流線型維護(hù),也使得代碼更加清晰。

再進(jìn)一步,條件 CSS 的一個(gè)重要特性是當(dāng)它發(fā)現(xiàn)一條 @import CSS 聲明時(shí),它會(huì)自動(dòng)打開并插入需要導(dǎo)入的文件。這樣就減少了頁面的加載時(shí)間,因?yàn)闉g覽器只需要對(duì) CSS 文件做出一條 HTTP 請(qǐng)求。

盡管條件 CSS 大多用于針對(duì)不同版本的 IE 瀏覽器,當(dāng)你在別的瀏覽器碰到很難修正的 bug(主要使用 Javascript 修正) 的時(shí)候,條件 CSS 也是相當(dāng)有用的。例子包括了缺少 ‘display: inline-block’ 支持的 Firefox 2 和 Safari 2 中的 背景圖片 bug。這些 bug 在這些瀏覽器的最新版本里面已經(jīng)修正了,但是當(dāng)這些瀏覽器占有一定市場份額的時(shí)候,向后兼容就很重要了。

下面的圖片展示了此頁面在 IE7,Safari 3,F(xiàn)irefox 2 和 Opera 9 中的顯示效果。

注意這個(gè)例子不適合部署在實(shí)際生產(chǎn)環(huán)境中,因?yàn)槟阒幌朐诟鳛g覽器總保持一致的布局,而條件 CSS 只是用來修正 CSS 顯示 bug。但是這個(gè)例子確實(shí)給出了一個(gè)好的例子用來說明不同的 CSS 怎樣定位不同的瀏覽器。

更多的信息,定位瀏覽器群組和更復(fù)雜的條件表達(dá)式的詳細(xì)討論在高級(jí)頁面。

糖伴西紅柿說:

Conditional-CSS,翻譯成條件 CSS,還值得商榷,至少我們幾個(gè)總覺得有點(diǎn)別扭,希望能有更好的翻譯。
拋開這些,這個(gè)概念,我在讀《CSS Mastery》的時(shí)候就接觸到了。當(dāng)時(shí)算是針對(duì)瀏覽器 hack 的一種,書中也沒用過多篇幅介紹,我也沒有太多注意。偶然發(fā)現(xiàn),這個(gè)概念還是很有用處的嘛。
這個(gè)故事告訴我們,溫故而知新??上业摹禖SS Mastery》被我提前拿回祖國了.

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (146人查看,0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)