瀏覽器兼容

如何調(diào)試 IE 瀏覽器

  • IE7以上自帶調(diào)試工具


  • IE6以下使用border: 1px solid red;通過border便捷查看
  • IEtester


  • 安裝虛擬機,安裝不同版本IE進(jìn)行調(diào)試
  • netrenderer也可以在線模擬IE瀏覽器系列來打開網(wǎng)頁凑耻,不過經(jīng)過測試,它其實也只是返回檢測網(wǎng)頁的第一屏截圖而已,肯定比不上IETester直觀和實用吼句。http://netrenderer.com
  • http://browsershots.org
    這個工具非常強悍,它能夠模擬100多款不同的瀏覽器訪問網(wǎng)頁,然后返回網(wǎng)頁的截圖介粘。我們可以從返回的網(wǎng)頁截圖看網(wǎng)頁的顯示是否達(dá)到預(yù)期,從而進(jìn)行修改調(diào)試晚树。

什么是CSS hack姻采?在 CSS 和 HTML里如何寫 hack?在 CSS 中 ie6爵憎、ie7的 hack 方式慨亲?

  • CSS hack由于不同廠商的瀏覽器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等宝鼓,或者是同一廠商的瀏覽器的不同版本刑棵,如IE6和IE7,對CSS的解析認(rèn)識不完全一樣席函,因此會導(dǎo)致生成的頁面效果不一樣铐望,得不到我們所需要的頁面效果冈涧。這個時候我們就需要針對不同的瀏覽器去寫不同的CSS茂附,讓它能夠同時兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果督弓。 簡單的說营曼,CSS hack的目的就是使你的CSS代碼兼容不同的瀏覽器。當(dāng)然愚隧,我們也可以反過來利用CSS hack為不同版本的瀏覽器定制編寫不同的CSS效果蒂阱。

  • CSS Hack大致有3種表現(xiàn)形式锻全,CSS屬性前綴法、選擇器前綴法以及IE條件注釋法(即HTML頭部引用if IE)Hack录煤,實際項目中CSS Hack大部分是針對IE瀏覽器不同版本之間的表現(xiàn)差異而引入的鳄厌。

  • 屬性前綴法(即類內(nèi)部Hack):例如 IE6能識別下劃線""和星號" ",IE7能識別星號" "妈踊,但不能識別下劃線""了嚎,IE6~IE10都認(rèn)識"\9",但firefox前述三個都不能認(rèn)識
    .container{
    _color: red;/IE6識別/
    color: red;/IE6,IE7識別/
    color: red\9;/
    IE6-IE10識別/
    color: red\0;/
    IE8-IE10識別/
    color: red\9\0;/
    IE9,IE10識別*/
    }

  • 選擇器前綴法(即選擇器Hack):例如 IE6能識別html .class{}廊营,IE7能識別+html .class{}或者*:first-child+html .class{}

  • IE條件注釋法(即HTML條件注釋Hack):針對所有IE(注:IE10+已經(jīng)不再支持條件注釋): 歪泳,針對IE6及以下版本: 。這類Hack不僅對CSS生效露筒,對寫在判斷語句里面的所有代碼都會生效


    <script>alert(1);</script>

列舉幾種 瀏覽器兼容問題

  1. IE6呐伞、IE7不識別inline-block但行內(nèi)可以觸發(fā)塊元素。其它主流瀏覽器均支持inline-block慎式。
  • 方法1:inline-block觸發(fā)塊元素伶氢,具有了layout的特性,然后設(shè)置display:inline使塊元素呈現(xiàn)內(nèi)聯(lián)元素瘪吏,此時layout的特性不會消失鞍历。
  • 方法2:直接設(shè)置display:inline,使用zoom:1觸發(fā)layout肪虎。
    兼容所有瀏覽器的方法是:
    .layout { display:inline-block;
    *display:inline;
    *zoom:1;
    }
  1. 標(biāo)簽設(shè)置min-height不兼容
    解決辦法:如果我們要設(shè)置一個標(biāo)簽的最小高度200px劣砍,需要進(jìn)行的設(shè)置為:
    {
    min-height:200px;
    height:auto!important;
    height:200px;
    overflow:visible;
    }
    備注:在B/S系統(tǒng)前端開發(fā)時,有很多情況下我們有這種需求扇救。當(dāng)內(nèi)容小于一個值(如300px)時刑枝,容器的高度為300px;當(dāng)內(nèi)容高度大于這個值時迅腔,容器高度被撐高装畅,而不是出現(xiàn)滾動條。這時我們就會面臨這個兼容性問題沧烈。

  2. opacity是用來設(shè)定元素透明度的掠兄, 是CSS 3里的一個屬性,IE8以下不支持锌雀,包括一些老版本的瀏覽器也不支持蚂夕。

     .opacity{  
     filter:alpha(opacity=50);       /* IE */
     -moz-opacity:0.5;              /* 老版Mozilla */
     -khtml-opacity:0.5;              /* 老版Safari */
     opacity: 0.5;           /* 支持opacity的瀏覽器*/
    }
    
  • 各瀏覽器默認(rèn)margin與padding不同
    *{
    margin:0;
    padding:0;
    }

針對兼容、多瀏覽器覆蓋有什么看法腋逆?漸進(jìn)增強和優(yōu)雅降級是什么意思婿牍?

  • 需要針對自身的項目進(jìn)行調(diào)研,若某瀏覽器所占比例大于一定百分比(如5%)才會考慮該瀏覽的兼容惩歉。

  • 漸進(jìn)增強 progressive enhancement:針對低版本瀏覽器進(jìn)行構(gòu)建頁面等脂,保證最基本的功能俏蛮,然后再針對高級瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗上遥。

  • 優(yōu)雅降級 graceful degradation:一開始就構(gòu)建完整的功能搏屑,然后再針對低版本瀏覽器進(jìn)行兼容。
      區(qū)別:優(yōu)雅降級是從復(fù)雜的現(xiàn)狀開始粉楚,并試圖減少用戶體驗的供給睬棚,而漸進(jìn)增強則是從一個非常基礎(chǔ)的解幼,能夠起作用的版本開始抑党,并不斷擴充,以適應(yīng)未來環(huán)境的需要撵摆。降級(功能衰減)意味著往回看底靠;而漸進(jìn)增強則意味著朝前看,同時保證其根基處于安全地帶特铝。

http://www.cnblogs.com/mofish/p/3822879.html

reset.css和normalize.css分別是做什么的暑中?為什么推薦使用 nomalize.css?

  • Normalize 相對「平和」,注重通用的方案鲫剿,重置掉該重置的樣式鳄逾,保留有用的 user agent 樣式,同時進(jìn)行一些 bug 的修復(fù)灵莲,這點是 reset 所缺乏的雕凹。
  • Reset 相對「暴力」,不管你有沒有用政冻,統(tǒng)統(tǒng)重置成一樣的效果枚抵,且影響的范圍很大,講求跨瀏覽器的一致性明场。
  • normalize.css優(yōu)點
  1. 保護(hù)有用的瀏覽器默認(rèn)樣式而不是完全去掉它們
  • 一般化的樣式:為大部分HTML元素提供
  • 修復(fù)瀏覽器自身的bug并保證各瀏覽器的一致性
  • 優(yōu)化CSS可用性:用一些小技巧
  • 解釋代碼:用注釋和詳細(xì)的文檔來

http://jerryzou.com/posts/aboutNormalizeCss/

IE盒模型和標(biāo)準(zhǔn)盒模型有什么區(qū)別? 怎樣使 IE678使用標(biāo)準(zhǔn)盒模型?box-sizing:border-box有什么作用

  • W3C標(biāo)準(zhǔn)中padding汽摹、border所占的空間不在width、height范圍內(nèi)苦锨,
  • 俗稱的IE的盒模型width包括content尺寸+padding+border
  • 早期IE6逼泣、IE7使用“IE盒模型”,后來更新了一次舟舒,更新后的IE6拉庶、IE7使用 標(biāo)準(zhǔn)盒模型IE8及以上版本使用標(biāo)準(zhǔn)盒模型
  • 沒有DOCTYPE的情況下使用怪異模式,IE也使用“IE盒模型”



  • box-sizing:border-box使得所有盒模型均按照IE盒子模型處理魏蔗。即為元素設(shè)定的寬度和高度決定了元素的邊框盒砍的。就是說,為元素指定的任何內(nèi)邊距和邊框都將在已設(shè)定的寬度和高度內(nèi)進(jìn)行繪制莺治。通過從已設(shè)定的寬度和高度分別減去邊框和內(nèi)邊距才能得到內(nèi)容的寬度和高度廓鞠。(為CSS3屬性,IE8以上才支持谣旁,包括IE8)

virtualbox 安裝 xp 虛擬機

在 ie 6, 7, 8中展示 盒模型床佳、inline-block、max-width的區(qū)別

  • 盒模型(IE678均一樣)(設(shè)置font-size:0line-height:0均可解決此BUG)
    IE678均一樣
  • inline-block
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <style>
    .inline-block{
    display: inline-block;
    width: 100px;
    height: 100px;
    margin: 10px;
    padding: 20px;
    border: 10px solid #ccc;
    background: green;
    }
    </style>
    </head>
    <body>
    <div class="inline-block"></div>
    <div class="inline-block"></div>
    <a class="inline-block" href=""></a>
    <a class="inline-block" href=""></a>
    </body>
    <html>
    IE8完全支持inline-block


    IE8

    IE6榄审、7塊級元素不支持inline-block,行內(nèi)元素支持

IE7
IE6
  • max-width
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>task13</title>
    <style>
    .box1 {
    max-width: 100px;
    height: 100px;
    border: 5px solid;
    background: yellow;
    }
    </style>
    </head>
    <body>
    <div class="box1">這是一段測試砌们。這是一段測試。這是一段測試搁进。這是一段測試浪感。這是一段測試。這是一段測試饼问。這是一段測試影兽。這是一段測試。這是一段測試莱革。這是一段測試峻堰。這是一段測試。這是一段測試盅视。</div>

    </body>
    </html>
    

IE8支持

IE8

IE7支持

IE7

IE6不支持

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捐名,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子闹击,更是在濱河造成了極大的恐慌镶蹋,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赏半,死亡現(xiàn)場離奇詭異梅忌,居然都是意外死亡,警方通過查閱死者的電腦和手機除破,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門牧氮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瑰枫,你說我怎么就攤上這事踱葛。” “怎么了光坝?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵尸诽,是天一觀的道長。 經(jīng)常有香客問我盯另,道長性含,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任鸳惯,我火速辦了婚禮商蕴,結(jié)果婚禮上叠萍,老公的妹妹穿的比我還像新娘。我一直安慰自己绪商,他們只是感情好苛谷,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著格郁,像睡著了一般腹殿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上例书,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天锣尉,我揣著相機與錄音,去河邊找鬼决采。 笑死自沧,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的织狐。 我是一名探鬼主播暂幼,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼移迫!你這毒婦竟也來了旺嬉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤厨埋,失蹤者是張志新(化名)和其女友劉穎邪媳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荡陷,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡雨效,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了废赞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徽龟。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖唉地,靈堂內(nèi)的尸體忽然破棺而出据悔,到底是詐尸還是另有隱情,我是刑警寧澤耘沼,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布极颓,位于F島的核電站,受9級特大地震影響群嗤,放射性物質(zhì)發(fā)生泄漏菠隆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骇径。 院中可真熱鬧躯肌,春花似錦、人聲如沸既峡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽运敢。三九已至,卻和暖如春忠售,著一層夾襖步出監(jiān)牢的瞬間传惠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工稻扬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卦方,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓泰佳,卻偏偏與公主長得像盼砍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子逝她,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一浇坐、如何調(diào)試 IE 瀏覽器? 在IE7以上的版本中可以通過按快捷鍵F12調(diào)出開發(fā)人員調(diào)試框黔宛,如下圖IE7以上調(diào)試工...
    dengpan閱讀 548評論 0 2
  • 一近刘、如何調(diào)試 IE 瀏覽器 IE7以上版本自帶的開發(fā)者工具,IE6可以用border的方法臀晃;例:IE11的開發(fā)者工...
    __Qiao閱讀 1,127評論 2 17
  • 一觉渴、問答部分 1. 如何調(diào)試 IE 瀏覽器 IE7及以上版本有調(diào)試臺,可以按F12啟動徽惋。Paste_Image.p...
    _hello__world_閱讀 466評論 0 1
  • 一案淋、問答部分: 1. 如何調(diào)試 IE 瀏覽器? 如果是IE7版本以上可以使用自帶的開發(fā)者工具,按F12险绘,即可打開:...
    小木子2016閱讀 532評論 0 0
  • 天氣預(yù)報說會降溫隆圆,要注意保暖漱挚。于是我把自己穿成了一個粽子去體能測試。 “女子八百米體能測試渺氧,預(yù)備...跑旨涝!”沒有發(fā)...
    時恙_V閱讀 354評論 0 0