1. 程式人生 > >IE8相容性問題及解決方案

IE8相容性問題及解決方案

前言

最近在做一個專案,要求是相容IE8,還要相容1280螢幕解析度,寫頁面其實還好,就是這個IE8賊噁心,用到的很多css屬性IE8都不相容,想要的效果也呈現不出來。先來說一說我遇到的IE8不支援的哪些css屬性吧

1,background不支援連寫

background:url(../img/background.png) no-repeat -580px 0/auto 100%; */

這段程式碼在谷歌瀏覽器上顯示正常,在ie8上就有問題,需要分開寫

background: url(/portal/themes/boss/login/imgs/background.jpg) center;
    background-repeat: no-repeat;
    background-position-x:-580px;
    background-position-y:0;
    -o-background-size: auto 100%;
    background-size: auto 100%; 
    /* 相容background-size */
    -ms-behavior: url(/portal/themes/boss/login/css/backgroundsize.min.htc);
    behavior: url(/portal/themes/boss/login/css/backgroundsize.min.htc);

這裡需要注意的是需要下載一個字尾名兒是.htc的一個檔案,用來相容ie8的background-size,使背景圖正常顯示;路徑一定要是絕對路徑才可以;

2, border-radius 圓角

圓角在ie8下也是不支援的,需要下載一個檔案PIE.htc,親測有效,程式碼如下:

border-radius: 25px;
/*相容圓角*/
-ms-behavior:url(/portal/themes/boss/login/css/PIE.htc);
behavior: url(/portal/themes/boss/login/css/PIE.htc);

做網頁的時候免不了要用到圓角,一提到要相容IE8,簡直要瘋掉,,注意:路徑一定要這麼寫,不能只寫一個檔名兒,否則不生效;

3,box-shadow 盒子陰影

這個也是ie8不支援的一個css3新特性,也是用pie.htc這個檔案就ok

4,CSS3 Background 背景漸變

直接上程式碼把這個漸變,沒什麼好說的,一行程式碼解決ie8漸變色問題;

background: -o-linear-gradient(#56c4ff,#0084ff);

background:linear-gradient(#56c4ff,#0084ff);
/*相容背景漸變*/
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#56c4ff',endColorstr='#0084ff',grandientType=1);

5,HTML5

  • 非常遺憾,HTML5 新增的標籤在 IE8 裡是不受支援,例如:section / main / header / footer等。
    • 解決方案:html5shiv,這個指令碼可以實現相容 IE8 

6,媒體查詢media

在相容解析度的時候基本上都會用到媒體查詢,,然鵝,千辛萬苦寫好的media,IE8這個祖宗竟然不識別,寫到這裡我的心情就不美麗了,哎,還是來說說怎麼解決吧。

下載一個respond.min.js,直接百度就好,然後引入到你要相容的條件註釋裡面,我的是在ie8和ie9

需要用到條件註釋,程式碼如下

<!-- 如果不是ie,用gzpt_login.css -->
<!--[if !IE]>
<link rel="stylesheet" type="text/css" href="<%=basePath%>/portal/themes/boss/login/css/gzpt_login.css" />
<![endif]-->
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="<%=basePath%>/portal/themes/boss/login/css/gzpt_login.css" />
<![endif]-->
<!--[if lte IE 11]>
<link rel="stylesheet" type="text/css" href="<%=basePath%>/portal/themes/boss/login/css/gzpt_login.css" />
<![endif]-->
<!--[if lte IE 10]>
<link rel="stylesheet" type="text/css" href="<%=basePath%>/portal/themes/boss/login/css/gzpt_login.css" />
<![endif]-->
<!-- <link rel="stylesheet" type="text/css" href="<%=basePath%>/portal/themes/boss/login/css/gzpt_login.css" /> -->
<!--[if lte IE 9]>  
<link rel="stylesheet" type="text/css" href="<%=basePath%>/portal/themes/boss/login/css/gzpt_loginie8.css" />
<script type="text/javascript" src="<%=basePath%>/portal/themes/boss/login/js/respond.min.js"></script>
<![endif]-–>  

再有一點需要注意的是,媒體查詢在IE8裡面使用要格外注意,不能簡寫,否則不生效,IE8對程式碼是很嚴格的

總結:

       IE8對我們開發人員來說,簡直就是要瘋,最討厭的就是處理ie8相容問題了,雖然頭疼了好幾天,但是,這些問題最終還是解決了,也學到了不少東西,總之多學一些東西還是很不錯的,加油吧!

相關推薦

IE8相容性問題解決方案

前言 最近在做一個專案,要求是相容IE8,還要相容1280螢幕解析度,寫頁面其實還好,就是這個IE8賊噁心,用到的很多css屬性IE8都不相容,想要的效果也呈現不出來。先來說一說我遇到的IE8不支援的哪些css屬性吧 1,background不支援連寫 backgrou

超全的IE相容性問題解決方案

1.怪異盒模型:在老版本IE下不設定文件宣告,頁面就會進入怪異盒模型解析,所以要設定文件宣告; 2.IE6下,子元素的寬高超出父級的寬高 :可以把父級設 置好的寬度撐開 3.在IE6下,塊屬性元素的高度小於19px:高度會按照19px顯示處理(解決辦法:overflow: hidden; 把顯示

IE7、IE8下使用escape、encodeURI傳遞中文引數亂碼的問題解決方案

js跳轉到指定頁面,一旦escape()中文資料,瀏覽器就會終止和沒有反應。上網搜了半天始終不得解。一種說法是,escape中文之後,url中出現了%u,IE7和IE8拒絕執行。目前看來差不多是這樣的。不得已,只好使用encodeURI(),但是asp並不能接受encodeURI的中文,而是解析成亂碼。於是又

Linux PHP安裝遇見的問題解決方案

linux php安裝出現錯誤 解決方法 遇到的問題與解決方案 問題一:報以下錯誤./configure以下錯誤發生Sorry, I cannot run apxs. Possiblereasons follow:1. Perl is not installed2. apxs was not fou

CentOS 7 安裝MySQL 5.6遇到問題解決方案

linux localhost not ces name 解決 info target case centos下安裝mysql真的沒有想象中那麽容易,在這裏我總結一下遇到的問題 1. ERROR 2002 (HY000): Can’t connect to loca

內存溢出原因解決方案

使用 -xmx 遞歸調用 其它 地址 str 啟動 遞歸 對象 參考地址:http://baike.baidu.com/view/79183.htm 內存溢出是指應用系統中存在無法回收的內存或使用的內存過多,最終使得程序運行要用到的內存大於虛擬機能提供的最大內存

移動端常見問題解決方案

ont 方案 不同 頁面 initial sca 刷新 detect 編碼 H5頁面窗口自動調整到設備寬度,並禁止用戶縮放頁面 <meta name="viewport" content="width=device-width,initial-scale=1.0,

Uber使用Swift重寫APP的踩坑經歷解決方案(轉載)

result 框架 退出 帶來 hole 懶漢 將在 例子 穩定 本文出自Uber移動架構和框架組負責人托馬斯·阿特曼於2016年在灣區Swift峰會上的演講,分享了使用Swfit重寫Uber的好與壞。以下為譯文: 我是托馬斯·阿特曼,目前是Uber移動架構和框架組負責人。

出現問題集解決方案

pan class parameter tex href pcl 通過 value log 出現 host parameter is null 錯誤,是代表在使用httpclient執行請求的時候,host地址參數有錯誤造成, 原因:1,URL地址記得加上:HTTP://

[原創]嵌入CEF遇到的問題解決方案

問題解決 pan single 如果 bottom 谷歌瀏覽器 進程間通訊 handle 沒有 這幾天程序嵌入谷歌瀏覽器,各種坑,不容易,記錄之。。。希望到此為止 1. 開了多進程模式之後,渲染進程RenderProcess斷點沒有進入。   只有在單進程模式(CefSin

asp.net MVC 常見安全問題解決方案

container coo baidu his ring article 調試工具 並且 part asp.net MVC 常見安全問題及解決方案一.CSRF (Cross-site request forgery跨站請求偽造,也被稱為“one click attack”或

AppStore IPv6-only審核被拒原因分析解決方案

穩定 eip ios 穩定性 only 應用服務器 http 一個 搭建 AppStore IPv6-only審核被拒原因分析及解決方案 http://www.jianshu.com/p/8edfdfa20b29 自2016年6月1日起,蘋果要求所有提交App St

<canvas合成海報>所遇問題解決方案總結

設置 iphone 出現問題 保存 白屏 全屏 分享 ase .get 最近做了一個用canvas合成海報圖片的移動端項目,由於一點canvas基礎都沒有,所以去網上搜了一位前輩的demo,但是開發過程中遇到了很多問題,現將所遇問題及解決方法總結如下: 1、移動端c

Html map 實際使用中遇到的問題解決方案

矩形選框 比例 lan fun 分開 寫法 解決方案 介紹 rds 前言:百度了一下html map,嗯嗯,介紹的挺詳細的,如果是初學者,直接看他們的教程,挺好的,就不用我再多說了。 不過我發現一個問題,就是都是介紹map有什麽屬性怎麽用的,這明顯就是照搬文檔自己再改一下嘛

CentOS7下Tomcat啟動慢的原因解決方案

按鍵 source 命令 mon 進程 tomcat apps 守護進程 中斷 現象   在一次CentOS 7系統中安裝Tomcat,啟動過程很慢,需要幾分鐘,經過查看日誌,發現耗時在這裏:是session引起的隨機數問題導致的。Tocmat的Session ID是通過S

Mybatis一對多,多對一中主子表字段名一致產生的問題解決方案

由於 jdbc 子表字段 etc main csdn base mes 方式 數據庫兩張表的字段名都和兩個類的屬性名稱一樣,這時在關聯查詢出現一個問題。 學生類: package com.pojo; public class Student {

hive表數據導出到csv亂碼原因解決方案

exce 默認 concat_ws 分隔符 語句 解決方案 打開 clas 連接 轉載自http://blog.csdn.net/lgdlxc/article/details/42126225 Hive表中的數據使用hive - e"select * from table"

linux下ssh連接慢的原因調查解決方案

acc 設置 發現 lin opened 左右 config 連接 war 項目中的一臺阿裏雲,最近一段時間出現ssh的時候,連接非常慢,大概輸入密碼後要10-20秒左右才能連上,以下記錄調查過程及解決辦法 通過網上的一些查詢,發現大都是因為設置dns,hosts或者通過關

Ubuntu常見問題解決方案

簡單的 com das == 終端 隨筆 alt+ http nbsp 萬事開頭難,都不知道從哪裏寫起,就從最簡單的開始寫好了。這篇隨筆主要羅列出在使用Ubuntu中經常會遇到的問題並附上解決辦法,根據篇幅長短再決定要不要分為數個系列。 1.  剛進去Ubuntu圖形界面,

Java常見的幾種內存溢出解決方案

-xmx 系列 lba pan fff 特征 聚類算法 聲明 space 1.JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap space JVM在啟動的時候會自動設置JVM Heap的值, 可以利用JVM提