1. 程式人生 > >css屬性相容主流瀏覽器

css屬性相容主流瀏覽器

目前,對於網頁中一些瀏覽器相容性問題,可以使用css hack(css 招數)和瀏覽器Bug修復的方式解決。
名詞解釋:
  css Hack:針對特定瀏覽器編寫冗餘程式碼,這是一種欺騙瀏覽器的行為,預示著有更好的解決辦法。
  瀏覽器bug修復:針對瀏覽器本身的bug,使用css自有的屬性,進行瀏覽器顯示問題的修復。
常見瀏覽器相容性解決方案:
1、IE有條件註釋
  程式碼示例:
    <!-- [ if IE8 ] >
      <style>
        @import " test.css";
      </style>
    <! [endif] -->
    在語法中:
    <!-- [if IE8] >...<![endif]-->:用於宣告瀏覽器版本,在該版本瀏覽器中使用其中的樣式表。
    @import"test.css":使用匯入式匯入樣式表
2、子選擇器招數
程式碼示例:
  html>body {
    background-image:url(bg.png);
  }
  在語法中:
  html>body:針對ie6及其以下版本,隱藏透明圖片bg.png
3、*html招數
*html {
    font-size:14px;
  }
  在語法中:
  *html:針對ie6及其以下版本,設定字號為14畫素。
4、!important招數
程式碼示例:
#nav {
    font-size:18px !important;  //ie7以上版本
    font-size:14px;       //ie6以下版本
  }
  在語法中:使用!important來提高權重,優先載入。
5、針對IE6~IE8的招數
_:選擇IE6及以下。連線線(中劃線)(-)亦可使用,為了避免與某些帶中劃線的屬性混淆,所以使用下劃線(_)更為合適。
  *:選擇IE7及以下。諸如:(+)與(#)之類的均可使用,不過業界對(*)的認知度更高
  \9:選擇IE6+
  \0:選擇IE8+和Opera
  [;property:value;];
  :選擇webkit核心瀏覽器(Chrome,Safari)。IE7及以下也能識別。中括號內外的3個分號必須保留,
  第一個分號前可以是任意規則或任意多個規則[;color:#f00;]; 與 [color:#f00;color:#f00;]; 與 [margin:0;padding:0;color:#f00;]; 是等價的。
  生效的始終是中括號內的最後一條規則,所以通常選用第一種寫法最為簡潔。

   程式碼示例:

    .test{
       color:#c30;          /* For Firefox */
       [;color:#ddd;];      /* For webkit(Chrome and Safari) */
       color:#090\0;        /* For Opera */
       color:#00f\9;        /* For IE8+ */
       *color:#f00;         /* For IE7*/
       _color:#ff0;         /* For IE6*/
    }

注意:同時設定多個瀏覽器的css hack時,必須注意瀏覽器版本宣告順序:高——>低,即ie8 --> ie7 -->ie6.

6、IE6雙倍空白邊距 Bug修復
程式碼示例:
#nav {
    float:left;
    margin:10px;
    display:inline;
  }
  產生條件:對某一元素,同時設定float屬性和margin屬性。
  顯示效果:在ie6中,左、右外邊距加倍,上、下外邊距無影響。
  解決辦法:增加display:inline;。
7、清除浮動Bug修復
程式碼示例:
#father {
    width:100%;    /* 寬度值可以為固定寬度值 */
    overflow:hidden;  
  }
  產生條件:父元素未設定浮動,而子元素設定了浮動。
  顯示效果:父元素高度得不到擴充套件,縮成一條,子元素從容器中溢位。
  解決辦法:為父元素設定width:寬度值;和overflow:hidden;。

相關推薦

css屬性相容主流瀏覽器

目前,對於網頁中一些瀏覽器相容性問題,可以使用css hack(css 招數)和瀏覽器Bug修復的方式解決。名詞解釋:  css Hack:針對特定瀏覽器編寫冗餘程式碼,這是一種欺騙瀏覽器的行為,預示著有更好的解決辦法。  瀏覽器bug修復:針對瀏覽器本身的bug,使用css自有的屬性,進行瀏覽器顯示問題的修

Html Css/css3相容性總結(相容主流瀏覽器包括Ie6)

1. 360以極速模式開啟網頁: 預設用急速核心,增加標籤:  <meta name="renderer" content="webkit"> 預設用ie相容核心,增加標籤:<met

javascript建立css、js,onload觸發callback相容主流瀏覽器的實現

由於需要寫個函式,既可以載入css,又可以載入js,所以對各主流瀏覽器對載入js、css後是否觸發onload事件做了個測試。當然,為了相容,首先要考慮的是會用到onload和onreadystatechange,但他們並不是萬能的。載入js檔案onload觸發call

點選滑鼠實現複製功能,相容主流瀏覽器

1.有一個需求,點選滑鼠左鍵,複製連結,可以將該連結貼上,實現一個簡單的複製貼上功能 2.程式碼實現 (1)HTML程式碼 <!DOCTYPE html> <html> <head> <title></title> &

實時監聽input輸入的變化(相容主流瀏覽器

【轉載】監聽輸入框的值,一般通過onchange/onkeyup/onkeypress/onkeydown實現,但是這存在著一些不好的使用者體驗。比如onchange事件只在鍵盤或者滑鼠操作改變物件

主流瀏覽器的內核私有屬性css前綴

firefox opera 瀏覽器 afa web trident fire mozilla 內核 主流瀏覽器內核私有屬性css前綴: mozilla內核 (firefox,flock等) -moz

div css Firefox和IE瀏覽器相容問題 用CSS實現cellSpacing屬性效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

html\css\js-dom在不同主流瀏覽器相容問題

1、html 主要是解決html5在主流瀏覽器上的相容性。特別是在IE瀏覽器上的相容性。 //方法一:使用google的html5shiv包,將它引入放在<head></head>內部 <!--[if IE]> &l

flex.css,移動端flex佈局神器,相容微信,UC,webview等移動端主流瀏覽器08.10

download git clone https://github.com/lzxb/flex.css.git npm npm install flex.css --save 為什麼需要flex.css? 在移動端開發中,並不是所有的瀏覽器,webview,微信等各

CSS實現瀑布流等分佈局效果,相容各大主流瀏覽器

效果如下: 程式碼: <!DOCTYPE html> <html lang="en"> <head> <title>首頁</ti

當一個CSS屬性在測試中的時候,是用不同瀏覽器的識別碼做前綴的。

link str 百度瀏覽器 one 標準 安全瀏覽器 slim 獵豹 進行 //-ms代表【ie】內核識別碼 //-moz代表火狐【firefox】 //-webkit代表谷歌【chrome】/蘋果【safari】 //-o代表歐朋【opera】 在標準還未確定時,部分瀏

javascript創建css、js,onload觸發callback兼容主流瀏覽器的實現

question 禁止 rules 跨域問題 onload targe 結合 defined finally http://www.fantxi.com/blog/archives/load-css-js-callback/ 由於需要寫個函數,既可以加載css,又可

主流瀏覽器(PC、移動端)userAgent屬性信息

ble 信息 ie 8 瀏覽器版本 實用 link row inux oppo PC: IE、QQ、chrome、firefox、360、safair 移動端:微信內置瀏覽器、QQ、獵豹、百度、UC、2345、系統自帶 PC:   ie:       Mozilla/5

css實現多行文字超出省略號顯示,相容所有瀏覽器

原文連結:https://github.com/happylindz/blog/issues/12 float 特性實現多行文字截斷 基本原理 有個三個盒子 div,粉色盒子左浮動,淺藍色盒子和黃色盒子右浮動, 當淺藍色盒子的高度低於粉色盒子,黃色盒子仍會處於淺藍色盒子右下方。 如果淺藍

DIV+CSS程式設計中各瀏覽器相容問題

程式碼: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <t

瀏覽器相容性問題——IE不支援卻很實用的CSS屬性(一)

1. Outline(適用範圍:滑鼠懸浮hover加外邊框) 我們在佈局的時候,常常會因為新增邊框border影響寬高的佈局。 那麼,outline是完美的替代品,因為它可以在不影響文件流的情況下呈現該物件。但是IE6 和IE7 不支援 outline 屬性。所以,它不能在這兩個瀏覽器中用於除錯。

瀏覽器相容性問題 瀏覽器相容性問題——IE不支援卻很實用的CSS屬性(一)

瀏覽器相容性問題——IE不支援卻很實用的CSS屬性(一)   1. Outline(適用範圍:滑鼠懸浮hover加外邊框) 我們在佈局的時候,常常會因為新增邊框border影響寬高的佈局。 那麼,outline是完美的替代品,因為它可以在不影響文件流的情況下呈現該

css實現背景backgroup漸變效果,相容各個瀏覽器(直接生成)

筆者其實對於css一直是一知半解的狀態。今天公司的需求需要讓背景如圖上所示。 通過度娘找到了一個強大的背景漸變手動設計的網站,在此分享  gradient-editor(國外開發者)  順便獻上自己css程式碼。或許有些用處 background: rgb(

CSS —— 相容各個瀏覽器的select的樣式

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

jQuery+layer+clipboard實現複製到剪貼簿的功能,相容各大主流瀏覽器

最近在研發微信公眾平臺的後臺管理,上傳永久素材時會用到複製到剪貼簿的功能,想著提升使用者體驗,也方便自己後臺的操作。於是在網上找了發現有個外掛可以實現,有些網友也分享了示例,但還是不能滿足我的需求,便琢磨了如何結合 jQuery+layer+clipboard,利用layer