整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS透明度 rgba 兼容ie8 filter

          CSS透明度 rgba 兼容ie8 filter



          background: rgba(255,255,255,0.2);

          兼容ie8

          filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#33ffffff,endColorstr=#33ffffff);

          #后面的8個數字被拆分為兩個部分 33 ffffff他們對應 AA(IEfilter) GGBBAA(GBA)。

          rgba 對應 iefilter 值

          0.1==> 19

          0.2==>33

          0.3==>4c

          0.4==>66

          0.5==>7f

          0.6==>99

          0.7==>b2

          0.8==>c8

          0.9==>e5

          多網站前端設計師在設計網站的時候,都會碰到網站在快速瀏覽器下顯示正常,在ie下可能就會出現錯位的情況!所以我們在設計網站之前一定要先了解IE兼容性問題。

          關于CSS對IE的兼容問題一直是DIV+CSS的一個大問題,因為不通瀏覽器識別代碼產生的效果是不同的,所以造成了很多瀏覽器對相同的CSS,產生不同的效果,這樣就產生了網站的錯位,個人理解是這樣的。

          網站設計

          先來了解下瀏覽器的內核:

          瀏覽器內核又可以分成兩部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入 CSS 等),以及計算網頁的顯示方式,然后會輸出至顯示器或打印機。瀏覽器的內核的不同對于網頁的語法解釋會有不同,所以渲染的效果也不相同。所有網頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網絡內容的應用程序都需要內核。JS 引擎則是解析 Javascript 語言,執行 javascript 語言來實現網頁的動態效果。

          最開始渲染引擎和 JS 引擎并沒有區分的很明確,后來 JS 引擎越來越獨立,內核就傾向于只指渲染引擎。有一個網頁標準計劃小組制作了一個 ACID 來測試引擎的兼容性和性能。內核的種類很多,如加上沒什么人使用的非商業的免費內核,可能會有 10 多種,但是常見的瀏覽器內核可以分這四種:Trident、Gecko、Blink、Webkit。

          各個瀏覽器內核不同,就可能造成不兼容的情況出現。

          常見的兼容性問題:

          1、不同瀏覽器的標簽默認的外補丁( margin )和內補丁(padding)不同

          解決方案: css 里增加通配符 * { margin: 0; padding: 0; }

          2、IE6雙邊距問題;在 IE6中設置了float , 同時又設置margin , 就會出現邊距問題

          解決方案:設置display:inline;

          3、當標簽的高度設置小于10px,在IE6、IE7中會超出自己設置的高度

          解決方案:超出高度的標簽設置overflow:hidden,或者設置line-height的值小于你的設置高度

          4、圖片默認有間距

          解決方案:使用float 為img 布局

          5、IE9一下瀏覽器不能使用opacity

          解決方案:

          opacity: 0.5;filter: alpha(opacity=50);filter: progid:DXImageTransform.Microsoft.Alpha(style=0, opacity=50);

          6、邊距重疊問題;當相鄰兩個元素都設置了margin 邊距時,margin 將取最大值,舍棄最小值;

          解決方案:為了不讓邊重疊,可以給子元素增加一個父級元素,并設置父級元素為overflow:hidden;

          7、cursor:hand 顯示手型在safari 上不支持

          解決方案:統一使用 cursor:pointer

          8、兩個塊級元素,父元素設置了overflow:auto;子元素設置了position:relative ;且高度大于父元素,在IE6、IE7會被隱藏而不是溢出;

          解決方案:父級元素設置position:relative

          關于瀏覽器兼容性的這種錯位,因為瀏覽器的種類越來越多,從IE5,6,7,8,9,10這些都是比較常用的瀏覽器,但是正因為各種瀏覽器的出現,為了更好的兼容各個版本的瀏覽器,我們就需要學習如何來處理IE的兼容問題。從而網絡上出現了很多所謂的HACK ,其實也就是針對各個瀏覽器的特點,來對各種瀏覽器的不同嗜好,產生的不同效果,實現的一種兼容各個版本瀏覽器的效果。

          這個地方我們我們不是來講各種可見的HACK效果,這些大家,可以在百度上來一下,就能找到我們所要的結果。

          因為IE從6開始為了適應各個版本,就自身有了一個兼容性,所以我們可以指定給網頁一個兼容特性;

          比如 網頁在IE7下無錯位,但在IE6 和 IE8下有錯位,那么我們就可以指定當用戶使用IE6和IE8的時候直接指定給IE6 和 IE8采用IE7的兼容模式來實現網頁的不錯位。

          但是這樣一來,網頁的兼容特性只是實現了,IE6,IE7,IE8的一個兼容,為了同時兼容FF,我們這個時候就需要使用HACK來達到兼容FF的效果。

          這樣我們使用IE自身的特性和HACK之間的特性就達到了網頁的兼容效果,我認為這樣實現兼容效果是最簡單最方便的。這樣我們其實就是對一種IE和FF之間的HACK在起作用,相對的寫了很少的代碼,也很實用和方便。

          兼容性的問題越來越重要了,特別是IE8的出現讓當時大半的網頁都出現錯位等現象,而解決的辦法,我們來看一個網上的例子:

          “css兼容IE8

          微軟在IE8提供三種解析頁面的模式:

          IE8 Standard Modes :默認的最標準的模式,嚴格按照W3C相關規定

          IE7 Standards Modes :IE7現在用的解析網頁的模式,開起機關是在<head>中加入 <meta http-equiv="X-UA-Compatible" content="IE=7">

          Quirks Modes :IE5用的解析網頁的模式,開起機關是刪除HTML頂部的DOCTYPE聲明

          注意:不同模式間的網頁在IE8中可以互相 frame ,因此因不會模式下的DOM和CSS渲染不一樣,所以會引發很多問題,務必注意如果你的頁面對IE7兼容沒有問題,又不想大量修改現有代碼,同時又能在IE8中正常使用,微軟聲稱,開發商僅需要在目前兼容IE7的網站上添加一行代碼即可解決問題,此代碼如下:

          <meta http-equiv="x-ua-compatible" content="ie=7" />”

          加了以上這個代碼,就可以比較完美的解決一般的兼容性問題了。

          mg{border:none} 解決IE瀏覽器有邊框問題, 而W3C瀏覽器無邊框問題

          選擇器的兼容性問題

          1 兒子選擇器>

          IE7開始兼容, IE6不兼容。

          div>p{
              color:red;
          }

          div的兒子p。和div的后代p的截然不同。

          能夠選擇:

          <div>
          <p>我是div的兒子</p>
          </div>

          不能選擇:

          <div>
          <ul>
          <li>
          <p>我是div的重孫子</p>
          </li>
          </ul>
          </div>

          2 序選擇器

          IE8開始兼容;IE6、7都不兼容

          選擇第1個li:

          <style type="text/css">
          ul li:first-child{
              color:red;
          }
          </style>

          選擇最后一個1i:

          ul li:last-child{
              color:blue;
          }

          由于瀏覽器的更新需要過程,所以現在如果公司還要求兼容IE6、7, 那么就要自己寫類名:

          <ul>
          <li class="first">項目</li>
          <li>項目</li>
          <li>項目</li>
          <li>項目</li>
          <li>項目</li>
          <li>項目</li>
          <li>項目</li>
          <li>項目</li>
          <li>項目</li>
          <li class="last">項目</li>
          </ul>

          用類選擇器來選擇第一個或者最后一個:

          ul li.first{
              color:red;
          }
          ul li.last{
              color:blue;
          }

          3 下一個兄弟選擇器

          IE7開始兼容, IE6不兼容。

          +表示選擇下一個兄弟

          <style type="text/css">
          h3+p{
          color:red;
          }
          </style>

          選擇上的是h3元素后面緊挨著的第一個兄弟。

          <h3>我是一個標題</h3>
          <p>我是一個段落</p>
          <p>我是一個段落</p>
          <p>我是一個段落</p>
          <h3>我是一個標題</h3>
          <p>我是一個段落</p>
          <p>我是一個段落</p>
          <p>我是一個段落</p>
          <h3>我是一個標題</h3>
          <p>我是一個段落</p>
          <p>我是一個段落</p>
          <p>我是一個段落</p>
          <h3>我是一個標題</h3>



          選擇器:

          說IE6層面兼容的: 標簽選擇器、id選擇器、類選擇器、后代、交集選擇器、并集選擇器、通配符。

          p
          #box
          .spec
          div p
          div.spec
          div,p
          *

          IE7能夠兼容的:兒子選擇器、下一個兄弟選擇器

          div>p
          h3+p

          IE8能夠兼容的:序選擇器

          ul li:first-child
          ul li:last-child

          border-style兼容性問題

          比如, border:10px ridge red; 在chrome和firefox、IE中有細微差別:

          如果公司里面的設計師, 處女座的, 追求極高的頁面還原度, 那么不能使用css來制作邊框。

          就要用到圖片, 就要切圖了。所以, 比較穩定的就幾個:solid、dashed、dotted, 其他的邊框樣式盡量不要用。


          主站蜘蛛池模板: 国产人妖视频一区二区| 无码人妻aⅴ一区二区三区有奶水| 一区二区三区影院| 无码人妻精品一区二区三区东京热| 国产精品福利一区二区久久| 国产午夜精品一区二区三区嫩草 | 亚洲视频在线观看一区| 无码一区二区三区在线观看| 国产一区二区在线视频| 精品国产一区二区三区2021| 一区二区三区观看| 在线免费观看一区二区三区| 亚洲一区二区三区国产精华液 | 日亚毛片免费乱码不卡一区| 亚洲视频免费一区| 中文字幕一区二区三区精彩视频| 国产乱码一区二区三区爽爽爽| 一区二区三区高清在线| 精品在线一区二区| 国产成人AV区一区二区三| 在线视频精品一区| 国产成人av一区二区三区在线| 性色av无码免费一区二区三区| 无码人妻精品一区二区三区99性| 精品国产伦一区二区三区在线观看| 久久精品动漫一区二区三区| 台湾无码一区二区| 国产91大片精品一区在线观看 | 无码人妻精品一区二区蜜桃网站 | 国产一区二区三区乱码| 日本在线不卡一区| 3d动漫精品啪啪一区二区中文| 亚洲综合一区二区精品久久| 人妻精品无码一区二区三区| 日本一区二区三区在线看| 国产精品一区三区| 国产丝袜无码一区二区三区视频| 国模私拍一区二区三区| 亚欧在线精品免费观看一区| 性色AV一区二区三区无码| 国产成人av一区二区三区在线观看 |