css hack,css hack有什麼用?

2022-03-22 02:15:37 字數 5084 閱讀 1808

1樓:匿名使用者

css hack是什麼時候出來的技術?

那得看瀏覽器的歷史了,世界上第一個瀏覽器90年就出來了,微軟是95年進軍瀏覽器市場的,應該是那之後沒多久就出現的……

hack是怎麼產生的?

由於不同的瀏覽器,比如ie6,ie7,firefox等,對css的解析標準不一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。

這時我們就需要針對不同的瀏覽器去寫不同的css,讓它能夠同時相容不同的瀏覽器,能在不同的瀏覽器中得到想要的相同的效果。

這個針對不同的瀏覽器寫不同的css的過程,就叫css hack。

css hack的原理是什麼?

由於不同的瀏覽器對css的支援及解析結果不一樣,還由於css中的優先順序的關係。我們就可以根據這個來針對不同的瀏覽器來寫不同的css。

比如 ie6能識別"_"(下劃線)"*",ie7能識別" * "(星號)不能識別下劃線"_",而firefox兩個都不能識別。

怎麼寫css hack?

示例1,比如要區別ie6和firefox兩種瀏覽器,可以這樣寫:

2樓:馮蓓棟蘊美

由於不同廠商的流覽器或某瀏覽器的不同版本(如ie6-ie11,firefox/safari/opera/chrome等),對css(層疊樣式)的支援、解析不一樣,導致在不同瀏覽器的環境中呈現出不一致的頁面展現效果。這時,我們為了獲得統一的頁面效果,就需要針對不同的瀏覽器或不同版本寫特定的css樣式,我們把這個針對不同的瀏覽器/不同版本寫相應的css

code的過程,叫做css

hack。

3樓:育知同創教育

css hack由於不同廠商的瀏覽器,比如internet explorer,safari,mozilla firefox,chrome等,或者是同一廠商的瀏覽器的不同版本,如ie6和ie7,對css的解析認識不完全一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。 這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓它能夠同時相容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。

簡單的說,css hack的目的就是使你的css**相容不同的瀏覽器。當然,我們也可以反過來利用css hack為不同版本的瀏覽器定製編寫不同的css效果。

4樓:匿名使用者

這是為了瀏覽器的相容

其實就是針對不同瀏覽器寫不同css**

針對一些瀏覽器識別特性使用特殊符號來讓不同瀏覽器去解析各自css**,達到相容性

如:火狐下不認識*,ie6下不識別!important以: " #demo "為例;

#demo /*被firefox,ie6,ie7執行.*/* html #demo /*會被ie6執行,之前的定義會被後來的覆蓋,所以#demo的寬度在ie6就為120px; */

*+html #demo /*會被ie7執行*/---------------

所以最後,#demo的寬度在三個瀏覽器的解釋為:

firefox:100px;

ie6:120px;

ie7:130px;

5樓:匿名使用者

css hack就是css招數.

因為任何瀏覽器都有漏洞,但是每一個漏洞都可以用編寫的css來解決,這種用css編寫的一系列**就被css**人員稱為css hack。

css hack這個名詞什麼時候具體出現的我不太清楚,但是這並不重要,重要的是隻要瀏覽器有漏洞,css hack就肯定會出現,只是當時沒有專用的名詞。

我知道的就這麼多,lz想知道更多可以上網找找資料。

css hack有什麼用?

6樓:純潔的小樹

css hack由於不同廠商的瀏覽器,比如internet explorer,safari,mozilla firefox,chrome

等,或者是同一廠商的瀏覽器的不同版本,如ie6和ie7,對css的解析認識不完全一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效

果。 這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓它能夠同時相容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。

簡單的說,css hack的目的就是使你的css**相容不同的瀏覽器。當然,我們也可以反過來利用css hack為不同版本的瀏覽器定製編寫不同的css效果。

1.原理

由於不同的瀏覽器對css的支援及解析結果不一樣,還由於css中的優先順序的關係。我們就可以根據這個來針對不同的瀏覽器來寫不同的css。

css hack大致有3種表現形式,css類內部hack、選擇器hack以及html頭部引用(if ie)hack,css hack主要針對類內部hack:比如 ie6能識別下劃線"_"和星號" * ",ie7能識別星號" * ",但不能識別下劃線"_",而firefox兩個都不能認識。等等

選擇器hack:比如 ie6能識別*html .class{},ie7能識別*+html .

class{}或者*:first-child+html .class{}。

等等html頭部引用(if ie)hack:針對所有ie:,針對ie6及以下版本:,這類hack不僅對css生效,對寫在判斷語句裡面的所有**都會生效。

書寫順序,一般是將識別能力強的瀏覽器的css寫在後面。下面如何寫裡面說得更詳細些。

2、常用的css hack方式

(1)方式一 條件註釋法

只在ie下生效

只在ie6下生效

只在ie6以上版本生效

只在ie8上不生效

非ie瀏覽器生效

(2)方式二 類內屬性字首法

屬性字首法是在css樣式屬性名前加上一些只有特定瀏覽器才能識別的hack字首,以達到預期的頁面展現效果。

ie瀏覽器各版本 css hack 對照表

說明:在標準模式中

「-″減號是ie6專有的hack

「\9″ ie6/ie7/ie8/ie9/ie10都生效

「\0″ ie8/ie9/ie10都生效,是ie8/9/10的hack

「\9\0″ 只對ie9/ie10生效,是ie9/10的hack

(3)css hack方式三:選擇器字首法

選擇器字首法是針對一些頁面表現不一致或者需要特殊對待的瀏覽器,在css選擇器前加上一些只有某些特定瀏覽器才能識別的字首進行hack。

目前最常見的是

*html *字首只對ie6生效*+html *+字首只對ie7生效@media

screen\9只對ie6/7生效@media \0screen }只對ie8有效@media \0screen\,screen\9}只對ie6/7/8有效@media screen\0 }

只對ie8/9/10有效@media screen and (min-width:0\0) } 只對ie9/10有效@media screen and (-ms-high-contrast: active),

(-ms-high-contrast: none) } 只對ie10有效等等

3、實際應用

比如要分辨ie6和firefox兩種瀏覽器,可以這樣寫:

div我在ie6中看到是紅色的,在firefox中看到是綠色的。

解釋一下:

上面的css在firefox中,它是認識不了後面的那個帶星號的東西是什麼的,於是將它過濾掉,不予理睬,解析得到的結果是:div,於是理所當然這個div的背景是綠色的。

在ie6中呢,它兩個background都能識別出來,它解析得到的結果是:div,於是根據優先順序別,處在後面的red的優先順序高,於是當然這個div的背景顏色就是紅色的了。

7樓:鍋鍋and小妞

相容不同瀏覽器比如ie6、7、8,火狐,谷歌等比較常見的瀏覽器,一般需要除錯的只有ie6、7他們寫hack方式ie6用下劃線_,ie7用*,在用這個之前 ,如果你寫的**規範一般不會出現問題,在寫**的時候儘量少用margin和padding控制位置,多用width和height控制大小與距離,display對ie6相容性是很有效的,如果有div跑出的情況下,可以用display這個屬性。

8樓:閒雲俠鶴

css的hack可以搞定一些低版本瀏覽器和一些特殊的瀏覽器樣式

9樓:匿名使用者

最主要的就是針對不同瀏覽器編寫不同的css以實現相同的樣式

10樓:匿名使用者

就是相容不同的瀏覽器的呀

css hack 是什麼意思

11樓:笑破你的肚子

css hack由於不同廠商的瀏覽器,比如internet explorer,safari,mozilla firefox,chrome等,或者是同一廠商的瀏覽器的不同版本,如ie6和ie7,對css的解析認識不完全一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。 這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓它能夠同時相容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。

簡單的說,css hack的目的就是使你的css**相容不同的瀏覽器。當然,我們也可以反過來利用css hack為不同版本的瀏覽器定製編寫不同的css效果。

css hack大致有3種表現形式,css類內部hack、選擇器hack以及html頭部引用(if ie)hack,css hack主要針對類內部hack:比如 ie6能識別下劃線"_"和星號" * ",ie7能識別星號" * ",但不能識別下劃線"_",而firefox兩個都不能認識。等等

12樓:

css hack是用來處理瀏覽器之間的相容性的,有些瀏覽器不能識別正規的樣式或者因為盒模型的不同,需要特別處理,比如要在樣式屬性前加上*、_、\9等等

13樓:

css是一種html語言的使用格式,hack代表黑客。

關於css hack的寫法

14樓:匿名使用者

我來給您解答~或者簡寫成 #example還可簡寫成 #example/*這樣寫是指,ff和ie是一樣的效果 取red,iie取green,i8取yellow ,如果不加!important,只有ff取red,ie6和ie7取green,ie8取yellow*/

用有有有有有造句,用有 有 有 有還有造句

春天到了,花壇裡的花盛開了,有迎春花,有海棠花,有牡丹花,還有月季花。下課版了,同權學們在操場上玩耍,有踢毽子的,有跑步的,有跳繩的,還有做遊戲的,看他們玩得多開心呀!早晨,公有園裡鍛鍊的人很多,有打太極拳的,有跳舞的,有散步和慢跑的,還有打羽毛球的。早晨,公園裡鍛鍊的人很多,有跑步的,有打羽毛球的...

有有有還有造句,用有有有還有造句

天上的雲朵真是變化萬千啊,有的像快樂的小鳥,有的像賓士的駿馬,有的像自由的小魚,還有的像可愛的小兔。成長道路上,我們有父母,有兄弟姐妹,有老師同學,還有朋友。我們的童年有數不清的玩具,有無憂無慮的時間,有過年時的壓歲錢,還有父母的疼愛。我的青春有喜悅,有悲傷,有用努力換來的成功,還有新粗心而換來的失...

用有,有,有,有,還有造句,用「有 有 還有 」造句

池塘裡的荷花千姿百態,有的已經綻放出大大的笑臉 還有的雖然沒有像先前一種開得燦爛,卻也已開出了嬌嫩的花兒來 有的還只是一個花骨朵,好像隨時都會開出美麗的花兒來 還有的則像是一個害羞的小姑娘,遲遲不肯含苞.1 我們家的人有的 喜歡看電視,有的喜歡跳舞,還有的喜歡唱歌。1 今天的水果真豐富啊!有黃橙橙的...