茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    CSS Hack詳解
    來源:易賢網(wǎng) 閱讀:1037 次 日期:2015-02-06 14:17:34
    溫馨提示:易賢網(wǎng)小編為您整理了“CSS Hack詳解”,方便廣大網(wǎng)友查閱!

    摘要:

    在我們制作頁面時(shí)CSS hack由于不同的瀏覽器,比如Internet Explorer,Mozilla Firefox等,對(duì)CSS的解析認(rèn)識(shí)不一樣,因此會(huì)導(dǎo)致生成的頁面效果不一樣,得不到我們所需要的頁面效果。 這個(gè)時(shí)候我們就需要針對(duì)不同的瀏覽器去寫不同的CSS,讓它能夠同時(shí)兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。

    CSS Hack大致有3種表現(xiàn)形式,屬性級(jí)Hack、選擇器Hack以及IE條件Hack

    注意:盡可能減少對(duì)CSS Hack的使用。

    原理:

    由于不同的瀏覽器對(duì)CSS的支持及解析結(jié)果不一樣,還由于CSS中的優(yōu)先級(jí)的關(guān)系。我們就可以根據(jù)這個(gè)來針對(duì)不同的瀏覽器來寫不同的CSS。

    實(shí)際應(yīng)用:

    選擇器:

    語法:

    <hack> selector{ sRules }

    說明:

    選擇不同的瀏覽器及版本

    通常如未作特別說明,所有的代碼和示例的默認(rèn)運(yùn)行環(huán)境都為標(biāo)準(zhǔn)模式。

    一些CSS Hack由于瀏覽器存在交叉認(rèn)識(shí),所以需要通過層層覆蓋的方式來實(shí)現(xiàn)對(duì)不同瀏覽器進(jìn)行Hack的。

    簡單列舉幾個(gè):

    代碼如下:

    * html .test{color:#090;} /* For IE6 and earlier */

    * + html .test{color:#ff0;} /* For IE7 */

    .test:lang(zh-cn){color:#f00;} /* For IE8+ and not IE */

    .test:nth-child(1){color:#0ff;} /* For IE9+ and not IE */

    :root .test {background-color:green;} /* For IE9 and Opera */

    @media screen and (-webkit-min-device-pixel-ratio:0) {.test {color:gray;}} /* For Chrome and Safari */

    @-moz-document url-prdfix() {.test {color:#fff}} /* For Forefox */

    * 上述代碼中的3,4兩行就是典型的利用能力來進(jìn)行選擇的CSS Hack。

    IE條件Hack:

    語法:

    代碼如下:

    <!--[if <keywords>? IE <version>?]>

    HTML代碼塊

    <![endif]-->

    取值:

    <keywords>

    if條件共包含6種選擇方式:是否、大于、大于或等于、小于、小于或等于、非指定版本

    是否:

    指定是否IE或IE某個(gè)版本。關(guān)鍵字:空

    大于:

    選擇大于指定版本的IE版本。關(guān)鍵字:gt(greater than)

    大于或等于:

    選擇大于或等于指定版本的IE版本。關(guān)鍵字:gte(greater than or equal)

    小于:

    選擇小于指定版本的IE版本。關(guān)鍵字:lt(less than)

    小于或等于:

    選擇小于或等于指定版本的IE版本。關(guān)鍵字:lte(less than or equal)

    非指定版本:

    選擇除指定版本外的所有IE版本。關(guān)鍵字:!

    <version>

    目前的常用IE版本為6.0及以上

    說明:

    用于選擇IE瀏覽器及IE的不同版本

    if條件Hack是HTML級(jí)別的(包含但不僅是CSS的Hack,可以選擇任何HTML代碼塊)

    如不想在非IE中看到某區(qū)域,可這樣寫:

    代碼如下:

    <!--[if IE]>

    <p>你在非IE中將看不到我的身影</p>

    <![endif]-->

    上述p代碼塊,將只在IE中可見。

    if條件6種選擇方式的使用示例(下述代碼中被條件注釋包含的HTML代碼塊也可以是link標(biāo)記):

    是否,示例代碼:

    代碼如下:

    <!--[if IE]>

    <style>

    .test{color:red;}

    </style>

    <![endif]-->

    在上述代碼中,只有IE瀏覽,才能看到應(yīng)用了test類的元素是紅色文本。

    大于,示例代碼:

    代碼如下:

    <!--[if gt IE 6]>

    <style>

    .test{color:red;}

    </style>

    <![endif]-->

    在上述代碼中,只有IE6以上,才能看到應(yīng)用了test類的元素是紅色文本。

    大于或等于,示例代碼:

    代碼如下:

    <!--[if gte IE 6]>

    <style>

    .test{color:red;}

    </style>

    <![endif]-->

    在上述代碼中,只有IE6以上(含IE6),才能看到應(yīng)用了test類的元素是紅色文本。

    小于,示例代碼:

    代碼如下:

    <!--[if lt IE 7]>

    <style>

    .test{color:red;}

    </style>

    <![endif]-->

    在上述代碼中,只有IE7以下,才能看到應(yīng)用了test類的元素是紅色文本。

    小于或等于,示例代碼:

    代碼如下:

    <!--[if lte IE 7]>

    <style>

    .test{color:red;}

    </style>

    <![endif]-->

    在上述代碼中,只有IE7以下(含IE7),才能看到應(yīng)用了test類的元素是紅色文本。

    非指定版本,示例代碼:

    代碼如下:

    <!--[if ! IE 7]>

    <style>

    .test{color:red;}

    </style>

    <![endif]-->

    在上述代碼中,除IE7以外的IE版本,都能看到應(yīng)用了test類的元素是紅色文本。

    屬性級(jí):

    語法:

    selector{<hack>property:value;}或者selector{property:value<hack>;}

    取值:

    _:選擇IE6及以下。連接線(中劃線)(-)亦可使用,為了避免與某些帶中劃線的屬性混淆,所以使用下劃線(_)更為合適。

    *:選擇IE7及以下。諸如:(+)與(#)之類的均可使用,不過業(yè)界對(duì)(*)的認(rèn)知度更高

    \9:選擇IE6+,可以區(qū)別所有IE和FireFox。

    \0:選擇IE8+和Opera

    [;property:value;];:選擇webkit核心瀏覽器(Chrome,Safari)。IE7及以下也能識(shí)別。中括號(hào)內(nèi)外的3個(gè)分號(hào)必須保留,第一個(gè)分號(hào)前可以是任意規(guī)則或任意多個(gè)規(guī)則

    [;color:#f00;]; 與 [color:#f00;color:#f00;]; 與 [margin:0;padding:0;color:#f00;]; 是等價(jià)的。生效的始終是中括號(hào)內(nèi)的最后一條規(guī)則,所以通常選用第一種寫法最為簡潔。

     注意:!important并不是一個(gè)hack手段,他是被用來改變css的優(yōu)先級(jí)的,因?yàn)閕e6是不識(shí)別!important,所以就被拿來當(dāng)做css hack的一種,這是錯(cuò)誤的。

    說明:

    選擇不同的瀏覽器及版本

    瀏覽器優(yōu)先級(jí)別:FF<IE9<IE8<IE7<IE6,CSS hack書寫順序一般為FF IE9 IE8 IE7 IE6

    一些CSS Hack由于瀏覽器存在交叉認(rèn)識(shí),所以需要通過層層覆蓋的方式來實(shí)現(xiàn)對(duì)不同瀏覽器進(jìn)行Hack的。如下面這個(gè)例子:

    如想同一段文字在IE6,7,8顯示為不同顏色,可這樣寫:

    代碼如下:

    .test{

    color:#090\9; /* For IE8+ */

    *color:#f00; /* For IE7 and earlier */

    _color:#ff0; /* For IE6 and earlier */

    }

    * 上述Hack均需運(yùn)行在標(biāo)準(zhǔn)模式下,若在怪異模式下運(yùn)行,這些Hack將會(huì)被不同版本的IE相互識(shí)別,導(dǎo)致失效。

    HACK Demo:

    代碼如下:

    .demo{color:#f1ee18;/*所有識(shí)別*/ background-color:#00deff\9; /*IE6、7、8識(shí)別*/ +background-color:#a200ff;/*IE6、7識(shí)別*/ _background-color:#1e0bd1/*IE6識(shí)別*/}

    @media screen and (-webkit-min-device-pixel-ratio:0){.demo{background-color:#f1ee18}}{} /* Safari(Chrome) 有效 */

    @media all and (min-width: 0px){ .demo{background-color:#f1ee18;/*opera and Safari(Chrome) and firefox*/ background-color:#4cac70\0;}/* 僅 Opera 有效 */ }{}

    .demo, x:-moz-any-link, x:default{background-color:#4eff00;/*IE7、Firefox3.5及以下 識(shí)別 */}

    @-moz-document url-prefix(){.demo{background-color:#4eff00;/*僅 Firefox 識(shí)別 */}}

    * +html .demo{background-color:#a200ff;}/* 僅IE7 識(shí)別 */

    /* 一般情況下 我們區(qū)分IE7 只用 +background-color 配合 _background-color 就行了 如果必須寫 .demo, x:-moz-any-link, x:default 這樣的代碼區(qū)分 Firefox3.5及以下 則謹(jǐn)記此寫法對(duì)IE7也有效,故在其中要再重寫一次 +background-color 或者使用 * +html .demo{background-color:blue;} 方法僅對(duì) IE7 有效??墒褂?@-moz-document url-prefix(){}方法獨(dú)立區(qū)分所有 firefox */

    .demo, x:-moz-any-link, x:default{display:block;/*IE7 firefox3.5及以下 識(shí)別 */+display:none/*再區(qū)分一次IE7*/}

    @-moz-document url-prefix(){.demo{display:block;/*僅 firefox 識(shí)別 */}}

    @media screen and (-webkit-min-device-pixel-ratio:0){.demo{display:block;}}{} /* safari(Chrome) 有效 */

    @media all and (min-width: 0px){.demo{display:none\0;} /* 僅 Opera 有效 */ }{}

    總結(jié):

    css hack 并不是標(biāo)準(zhǔn)的css,所以應(yīng)該盡量少使用hack。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看網(wǎng)頁制作
    易賢網(wǎng)手機(jī)網(wǎng)站地址:CSS Hack詳解
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)