CSS相容處理

2022-08-29 06:39:08 字數 2600 閱讀 3286

css**相容主要由hack和filter兩種方法來解決相關問題。

hack:一種相容css在不同瀏覽器中正確顯示的方法。

filter:一種特殊的瀏覽器或瀏覽器組顯示或隱藏規則或宣告的方法。

注意:hack是一種非官方技術,主要依賴各種字元組合,以及規則和宣告的重複定義實現在不同瀏覽器之間達到相同的效果。

但是hack也有***,如降低**的可讀性,增加了**的負擔。

設計css hack 和 filter通常有兩種方法:

一般建議使用第二種方法來實現瀏覽器的相容。

最新最權威的css filter技術彙總:

顯示模式:各大瀏覽器廠商為了實現對標準網頁和傳統網頁的相容性,分別為瀏覽器制定了幾套網頁顯示方案。

微軟從ie6.0以上版本瀏覽器嵌入了兩種顯示方案分別是:standards mode(標準模式)和 quirks mode(怪異模式)。

標準模式:瀏覽器根據w3c組織制定的標準網頁規範來顯示頁面。

怪異模式:頁面將以ie5顯示頁面的方式來呈現網頁,以保證與過去非標準網頁的相容性。

它們最大的區別是對盒模型解析的差異。

firefox從1.0以上版本開始支援3種顯示模式:quirks mode、almost standards mode (幾乎標準模式)和standards mode。

其中almost standards mode對應於ie和opera的standards mode,該模式除了在處理**方式方面有一些細微的差異之外,與標準模式基本相同。

火狐的顯示模型細節差異可以參考:

opera從6.0版本開始支援與ie相同的顯示模式:quirks mode 和 standards mode,關於顯示模式的細節說明可以參考:

html4.0過濾型:

網頁將遵循w3c制定的標準進行解析。

html4.0嚴格型:

html4.0框架型:

以及xhml1.0過渡型、xhtml1.0嚴格型、xhtml框架型3個文件型別,但如果不給網頁定義文件型別,ie瀏覽器會以怪異模式顯示網頁。

沒有提供文件型別的版本:

html2.0版本:

html3.0版本:

html3.2版本:

注意: 本示例僅在ie6.0以上版本瀏覽器有效,其他瀏覽器不支援此示例的顯示差異。

條件過濾樣式:

語法:詳解說明:

條件修飾關鍵字:

lte:小於或等於某個版本的ie瀏覽器。

lt:小於某個版本的ie瀏覽器。

gte:大於或等於某個版本的瀏覽器。

gt:大於某個版本的ie瀏覽器。

!:不等於某個版本的ie瀏覽器。

如果為某個版本的ie瀏覽器定義樣式,則可以把樣式放置在ie條件語句中。

例如:同時還可以為不同版本瀏覽器定義不同的外部樣式表,再用ie條件語句為不同版本的ie瀏覽器匯入不同的檔案,從而實現瀏覽器的相容性處理。

如:選擇器過濾樣式:

在標準網頁中,html元素被認為根元素,其他元素都被包括其中。但是在ie6及以下版本的瀏覽器中預設乙個匿名根元素,html元素被認為是它的子元素。

過濾宣告:

ie6環境,如:

div

注意,注釋的位置是在屬性的後面,冒號的前面,且與屬性名中間隔乙個空格。

ie5.5環境,如:

div

注意,注釋的位置是在冒號的後面,且與冒號中間隔乙個空格。

ie5環境,如:

div

注意,注釋的位置是在屬性名的後面,冒號的前面,且注釋中間隔乙個空格。這個過濾器同時會適應mac系統中的ie5和ie4。

如:div

它不僅適用上面系統中的ie版本,也適用ie5.2/os作業系統的瀏覽器版本。

利用voice-family屬性設計相容ie5.5及更低版本瀏覽器的宣告。

如:div,content "\";

voice-family:inherit;

height:200px;

width:200px;

border:solid 1px red;

}注意:

voice-family屬性可以指定網頁內容用哪種聲音進行朗讀,適用於盲人閱讀器等裝置上。

ie5.5及更低版本瀏覽器中由於不能夠識別,同時錯誤解析轉義字元,並認為到voice-family:"\"}"\";這句結束。

其他瀏覽器中顯示為200畫素的紅色框。

ie6及更低版本專用:

*html #element

ie7版本專用:

*+html #element

ie7+及符合現代標準瀏覽器專用:

div>#element  

非ie現代標準瀏覽器專用:

html>/**/body #element

\9:選擇ie6+

\0:選擇ie8+和opera15以下的瀏覽器

如:

.test
使用檢測工具:

w3c css驗證服務:

css雜記 css相容處理雜記 1

1 ios上輸入框 input 輸入區域 textarea 在框體內側頂部會有灰色陰影,去掉的方法 input textarea 2 chrome在輸入框 input 輸入區域 textarea 被聚焦 focus 時,會多出藍色 黃色邊框,去掉方法 input focus textarea foc...

css雜記 css相容處理雜記 2

1 ie上對於沒有內容的a標籤,使用display block會失效 解決辦法 給這個a設乙個背景色 然後透明度調成透明即可 2 css強制換行 word wrap break word 3 css一行太長,最後用省略號表示 display inline block text overflow el...

相容之CSS常見相容

1 雙倍浮動bug 描述 塊狀元素設定了float屬性後,又設定了橫向的margin值,在ie6下顯示的margin值要比設定的值大 解決方案 給float的元素新增 display inline 將其轉換為內聯元素 2 表單元素行高不一致 解決方案 給表單元素新增vertical align mi...