国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

指定網(wǎng)頁doctype解決CSS Hacking

2024-07-11 08:21:25
字體:
供稿:網(wǎng)友

  我們都知道,要做wd(web designer),首先得伺侯好幾個瀏覽器:ie6,ie7,firefox.一般的頁面,都只要求在ie6,ie7,firefox下正常工作就行了。

  但是實際上,瀏覽器遠遠不止這幾個,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是一個不合法的標記方法。css hacking的出現(xiàn),是wd們不得已而為之,wd們的日常工作并不是瘋狂地css hack.

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

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

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

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

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

  mozilla和safari還有第三種模式,稱為“幾乎標準的模式(almost standards mode)”,除了在處理表格的方式方面有一些細微的差異之外,這種模式與標準模式相同。

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

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

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

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

html 4.01 transitional:

<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">

  html 4.01 frameset

<!doctype html public "-//w3c//dtd html 4.01 frameset//en" "http://www.w3.org/tr/html4/frameset.dtd">

  xhtml 1.0 strict

<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">

xhtml 1.0 transitional

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

  xhtml 1.0 frameset

<!doctype html public "-//w3c//dtd xhtml 1.0 frameset//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd">

  xhtml 1.1

<!doctype html public "-//w3c//dtd xhtml 1.1//en" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 香港| 青神县| 嘉义县| 化隆| 华阴市| 武川县| 东乡| 屏山县| 马鞍山市| 深泽县| 文登市| 乃东县| 赞皇县| 崇明县| 英吉沙县| 会昌县| 蒲江县| 冷水江市| 永胜县| 郁南县| 鲁山县| 日喀则市| 图木舒克市| 宣汉县| 夏河县| 阆中市| 福海县| 平遥县| 安远县| 介休市| 镇康县| 察隅县| 京山县| 长岛县| 广州市| 科技| 厦门市| 柳江县| 许昌市| 龙岩市| 荔波县|