搜尋
首頁web前端css教學指定網頁的doctype解決CSS Hacking方法總整理_經驗交流

但實際上,瀏覽器遠遠不止這幾款,Firefox分為Firefox 1.5,Firefox 2,Firefox 3幾個主要版本,IE7,IE6中也各有好幾個系列,另外除開這兩個主流廠商的產品之外,還有Opera,Konqueror,Netscape,chrome等一系列。

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

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

  然而,首先WD們沒有弄清楚一個基本問題,我們為什麼需要css Hacking?如果有1000種瀏覽器,我們是不是要記住1000種瀏覽器的Hack 技巧?

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

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

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

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

  那以前各家都生產過,規定過的小九九們不符合標準,咋辦啊?也不能就馬上把它們全扔掉不要了吧?軟體上大抵有這樣一套原則,叫向下兼容。在怪异模式下,各个浏览器都模拟那些老版本的浏览器的操作,以防止老的页面无法工作。在网页没有指定doctype时,浏览器一般就都按怪异模式工作,以防老页面无法工作。

  对于这两种模式之间的差异,最显著的例子涉及Windows上IE专有的框模型。在IE 6出现时,在标准模式中使用正确的框模型,在怪异模式中使用老式的专有框模型。为了维持对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:

复制代码 代码如下:




HTML 4.01 Frameset

复制代码 代码如下:




  XHTML 1.0 Strict

复制代码 代码如下:




XHTML 1.0 Transitional

复制代码 代码如下:




  XHTML 1.0 Frameset

複製程式碼 程式碼如下:


div>
  XHTML 1.1

複製程式碼 程式碼如下:



陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
每周平台新聞:Galaxy Store的Web應用程序,Tappable Stories,CSS Subgrid每周平台新聞:Galaxy Store的Web應用程序,Tappable Stories,CSS SubgridApr 14, 2025 am 11:20 AM

在本週的綜述中:Firefox獲得了類似鎖匠的力量,三星的Galaxy Store開始支持Progressive Web Apps,CSS Subgrid正在Firefox發貨

每周平台新聞:Internet Explorer模式,搜索控制台中的速度報告,限制通知提示每周平台新聞:Internet Explorer模式,搜索控制台中的速度報告,限制通知提示Apr 14, 2025 am 11:15 AM

在本週的綜述中:Internet Explorer進入Edge,Google搜索控制台吹捧新的速度報告,而Firefox給出了Facebook' s Notification

CSS自定義屬性的範圍的功率(和樂趣)CSS自定義屬性的範圍的功率(和樂趣)Apr 14, 2025 am 11:11 AM

您可能至少已經對CSS變量有點熟悉了。如果沒有,這是兩秒鐘的概述:它們真的稱為自定義屬性

我們是程序員我們是程序員Apr 14, 2025 am 11:04 AM

構建網站正在編程。編寫HTML和CSS正在編程。我是程序員,如果您在這裡閱讀CSS-Tricks,那麼您很有可能是您

您如何從網站上刪除未使用的CSS?您如何從網站上刪除未使用的CSS?Apr 14, 2025 am 10:59 AM

在這裡,我想預先知道的是:這是一個很難的問題。如果您降落在這裡,因為您希望指向您可以運行的工具

圖片中的圖片網絡API簡介圖片中的圖片網絡API簡介Apr 14, 2025 am 10:57 AM

圖片中的圖片在2016年發行了Macos Sierra,在Safari瀏覽器中首次出現在網絡上。這使用戶可以彈出

使用Gatsby組織和準備圖像以使圖像模糊效果的方法使用Gatsby組織和準備圖像以使圖像模糊效果的方法Apr 14, 2025 am 10:56 AM

蓋茨比(Gatsby)進行了出色的處理和處理圖像。例如,它可以幫助您節省圖像優化的時間,因為您不必手動

哦,嘿,填充百分比基於父元素的寬度哦,嘿,填充百分比基於父元素的寬度Apr 14, 2025 am 10:55 AM

今天,我學到了一些有關基於百分比的(%)填充的知識,我腦海中完全錯了!我一直認為百分比填充是基於

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)