佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 指定網(wǎng)頁的doctype解決CSS Hacking方法總結(jié)

指定網(wǎng)頁的doctype解決CSS Hacking方法總結(jié)

熱門標(biāo)簽:網(wǎng)站文章發(fā)布 銀行業(yè)務(wù) 鐵路電話系統(tǒng) 智能手機 服務(wù)器配置 呼叫中心市場需求 檢查注冊表項 美圖手機
但是實際上,瀏覽器遠(yuǎn)遠(yuǎn)不止這幾個,Firefox分為Firefox 1.5,Firefox 2,Firefox 3幾個主要版本,IE7,IE6中也各有好幾個系列,另外除開這兩個主流廠商的產(chǎn)品之外,還有Opera,Konqueror,Netscape,chrome等一系列。

  這些瀏覽器,各有各的一套,往往在這里運行正常,在那里運行就不正常了。于是WD們拆東邊補西邊,終于能在幾個瀏覽器下都正常了。結(jié)果,產(chǎn)品經(jīng)理又有了新的需求,需要在哪兒哪兒那兒改一下,于是乎,好不容易糊弄好的的紙架子一下子倒塌了,WD們又忙得焦頭爛額。之所以這么說,因為,這是我的經(jīng)驗。

  大凡是WD,總是收集了一堆Css Hacking 技巧,為的是在各個瀏覽器下正常。網(wǎng)上一搜,一大堆。

  然而,首先WD們沒有弄清楚一個基本問題,我們?yōu)槭裁葱枰猚ss Hacking?如果有1000種瀏覽器,我們是不是要記住1000種瀏覽器的Hack 技巧?

  事實上, Css Hacking從某種程度上說,是一個拿不上臺面的東西。Css Hacking有很多技巧,純粹就是利用了瀏覽器的Bug.比如常見的用_class{….} 去區(qū)別IE和firefox,按理說_class是一個不合法的標(biāo)記方法。Css Hacking的出現(xiàn),是WD們不得已而為之,WD們的日常工作并不是瘋狂地Css Hack.

  其實這么多瀏覽器,并不是可以隨便亂來,想自己定義個啥就定義個啥標(biāo)記的。人們習(xí)慣了在標(biāo)準(zhǔn)的世界里生活,在網(wǎng)頁世界里,也有一系列標(biāo)準(zhǔn)。瀏覽器們也都努力地做到web標(biāo)準(zhǔn)兼容。但是有些瀏覽器出道得早,可以說后來出現(xiàn)的web標(biāo)準(zhǔn)就是在它們的影響下誕生的。還有一個,當(dāng)年非常牛B,所以做了很多創(chuàng)新,沒有把web標(biāo)準(zhǔn)放在心上,蠻不在乎。更何況,標(biāo)準(zhǔn)自身也是在不斷更新的。因此,一般各個瀏覽器產(chǎn)品系統(tǒng)都曾有過一段沒有不太在乎web標(biāo)準(zhǔn)的日子,后來大家都意識到不行了,我們大家都妥協(xié)一下,要制訂一套標(biāo)準(zhǔn),大家都遵守。可是以前各家都有自己制訂的一些小條條小框框,他們不符合標(biāo)準(zhǔn),咋辦呢?

  于是,這些人想了個法子:標(biāo)準(zhǔn)模式和怪異模式。另外還有一種,叫“近乎標(biāo)準(zhǔn)模式”,almost standard.要說真是夠怪異,我都聽暈了。別著急,聽我慢慢道來。

  不是說了嗎,這些老大們坐在一起,制定了各式各樣的標(biāo)準(zhǔn),以后大家都按這套標(biāo)準(zhǔn)來解釋網(wǎng)頁。如果你做的網(wǎng)頁可以按這套標(biāo)準(zhǔn)來解釋,那就用一個標(biāo)記doctype注明這是可以按web標(biāo)準(zhǔn)來解釋的。這就是標(biāo)準(zhǔn)模式。

  那以前各家都生產(chǎn)過,規(guī)定過的小九九們不符合標(biāo)準(zhǔn),咋辦啊?也不能就馬上把它們?nèi)拥舨灰税?軟件上大抵有這樣一套原則,叫向下兼容。在怪異模式下,各個瀏覽器都模擬那些老版本的瀏覽器的操作,以防止老的頁面無法工作。在網(wǎng)頁沒有指定doctype時,瀏覽器一般就都按怪異模式工作,以防老頁面無法工作。

  對于這兩種模式之間的差異,最顯著的例子涉及Windows上IE專有的框模型。在IE 6出現(xiàn)時,在標(biāo)準(zhǔn)模式中使用正確的框模型,在怪異模式中使用老式的專有框模型。為了維持對IE 5和更低版本的向后兼容性,Opera 7和更高版本也在怪異模式中使用有缺點的IE框模型。

  Mozilla和Safari還有第三種模式,稱為“幾乎標(biāo)準(zhǔn)的模式(almost standards mode)”,除了在處理表格的方式方面有一些細(xì)微的差異之外,這種模式與標(biāo)準(zhǔn)模式相同。

  正是由于這個原因,您可以丟掉很多css hacking技巧了。有些書介紹說,IE6和firefox的盒模型(或者有的地方叫框模型)不一致,因此需要這樣做hack:

div{
width:100px;
*width:95px;
}

  我說,這種書真是誤人子弟。因為,只要正確指定了doctype,這些瀏覽器解釋上的差異就都不存在了,我們按照標(biāo)準(zhǔn)來就行了。

  這個模式的指位于HTML文件開頭的DOCTYPE域指定的。一般常見的有這幾種:

HTML 4.01 Transitional:
復(fù)制代碼 代碼如下:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


HTML 4.01 Frameset

復(fù)制代碼 代碼如下:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">


  XHTML 1.0 Strict

復(fù)制代碼 代碼如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


XHTML 1.0 Transitional

復(fù)制代碼 代碼如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


  XHTML 1.0 Frameset

復(fù)制代碼 代碼如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

  XHTML 1.1

復(fù)制代碼 代碼如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

您可能感興趣的文章:
  • CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera
  • CSS Hack 匯總快查
  • Chrome的hack寫法以及CSS的支持程度圖示
  • css ie6 ie7 ff的CSS hack使用技巧
  • CSS Hack 匯總速查手冊瀏覽器兼容必會
  • 區(qū)分IE6,IE7,firefox的CSS hack
  • CSS Hack收集匯總
  • CSS hack用法案例詳解

標(biāo)簽:新疆 上海 河南 長治 滄州 紅河 樂山 沈陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《指定網(wǎng)頁的doctype解決CSS Hacking方法總結(jié)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    隆安县| 蛟河市| 屏边| 运城市| 重庆市| 遵义县| 东兰县| 湘阴县| 昌黎县| 灵山县| 沁源县| 阳东县| 萨迦县| 山东| 万宁市| 青川县| 怀柔区| 泗洪县| 红安县| 元阳县| 甘洛县| 绿春县| 洱源县| 宜宾县| 九龙县| 班戈县| 利川市| 江山市| 报价| 连南| 永州市| 新巴尔虎左旗| 隆林| 保康县| 即墨市| 和静县| 木兰县| 会同县| 墨脱县| 乌审旗| 阿拉善左旗|