“瀏覽器”那些事

前端離不開“瀏覽器”笼裳,要學(xué)好前端铅檩,我們就要學(xué)會(huì)調(diào)試IE瀏覽器憎夷,并且處理好瀏覽器兼容等有關(guān)瀏覽器的問題。

一昧旨、如何調(diào)試 IE 瀏覽器拾给?

  • IE瀏覽器7以上+自帶的開發(fā)工具,ie6可以用加border的方法;
  • 采用模擬器的方式去模擬不同版本下的IE瀏覽器兔沃,如ietester;
  • 通過安裝虛擬機(jī)的方式蒋得,安裝不同版本的IE運(yùn)行環(huán)境去達(dá)到調(diào)試IE瀏覽器的目的。

二乒疏、什么是CSS hack额衙?在 CSS 和 HTML里如何寫 hack?在 CSS 中 ie6怕吴、ie7的 hack 方式窍侧?
CSS Hack:不同的瀏覽器對(duì)CSS的解析結(jié)果是不同的,因此會(huì)導(dǎo)致相同的CSS輸出的頁面效果不同转绷,這就需要CSS Hack來解決瀏覽器局部的的兼容問題伟件。而這個(gè)針對(duì)不同的瀏覽器寫不同的CSS代碼的過程。
在CSS和HTML中如何寫hack:
CSS Hack大致有3種表現(xiàn)形式:CSS屬性前綴法议经、選擇器前綴法以及IE條件注釋法(即HTML頭部引用if IE)Hack斧账。

  • 屬性前綴法(即類內(nèi)部Hack)
    <pre>
    Html:
    <div class="container">
    </div>
    CSS:
    .container{
    color:red;
    _color:red;/IE6識(shí)別/
    color:red;/IE6,IE7識(shí)別/
    color:red\9;/
    IE6-IE10識(shí)別*/
    }
    </pre>
  • 選擇器前綴法:
    <pre>
    body{
    }/
    只對(duì)IE6有效/
    +body{
    }/
    只對(duì)IE7生效
    /
    @media screen\9{...}/只對(duì)IE6/7生效/
    </pre>
  • IE條件注釋法:
    只在IE下生效
    <pre>

</pre>
只在IE6下生效
<pre>

</pre>
只在IE6以上版本生效
<pre>

</pre>
只在IE8上不生效
<pre>

</pre>
非IE瀏覽器生效
<pre>

</pre>
在CSS中ie6、ie7的hack方式:
IE6
選擇器前綴法:
<pre>
body{
}/只對(duì)IE6生效/
</pre>
IE條件注釋法:
<pre>

</pre>
IE7
選擇器前綴法:
<pre>
+body{
}/只對(duì)IE7生效/
</pre>
IE條件注釋法:
<pre>

</pre>

三煞肾、列舉幾種 瀏覽器兼容問題

  • 不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)丁和內(nèi)補(bǔ)哆种(margin和padding)不同;
  • 塊屬性標(biāo)簽float后籍救,又有橫行的margin情況下习绢,在IE6顯示margin比設(shè)置的大;
  • 行內(nèi)屬性標(biāo)簽钧忽,設(shè)置display:block后采用float布局毯炮,又有橫行的margin的情況逼肯,IE間距bug;
  • 標(biāo)簽最低高度設(shè)置min-height不兼容;
  • 透明度的兼容CSS設(shè)置

四桃煎、針對(duì)兼容篮幢、多瀏覽器覆蓋有什么看法?漸進(jìn)增強(qiáng)優(yōu)雅降級(jí)是什么意思为迈?
對(duì)于兼容三椿,有的放矢,分清主次葫辐,針對(duì)主流瀏覽器開發(fā)搜锰,同時(shí)兼顧用戶需求,遇到一個(gè)問題解決一個(gè)耿战,先完成基本功能和樣式的實(shí)現(xiàn)蛋叼,再根據(jù)需要和其他瀏覽器的用戶份額來考慮是否完善兼容性。
漸進(jìn)增強(qiáng):針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁面剂陡,保證最基本的功能狈涮,然后再針對(duì)高級(jí)瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能鸭栖,達(dá)到更好的用戶體驗(yàn)歌馍。
優(yōu)雅降級(jí):一開始就構(gòu)建完整的功能,然后再針對(duì)低版本瀏覽器進(jìn)行兼容晕鹊。

五松却、reset.css和normalize.css分別是做什么的?為什么推薦使用 normalize.css?
reset.css的目的是將所有瀏覽器的自帶樣式重置掉溅话,這樣更易于保持各瀏覽器渲染的一致性晓锻。

normalize.css則盡量保留瀏覽器的默認(rèn)樣式,該項(xiàng)目依賴于研究瀏覽器默認(rèn)元素風(fēng)格之間的差異公荧,精確定位需要重置的樣式带射。

normalize.css的優(yōu)勢:
1.normalize.css保護(hù)了有價(jià)值的默認(rèn)值同规,reset.css通過為幾乎所有的元素添加默認(rèn)樣式循狰,強(qiáng)行使得元素有相同的視覺效果,相比之下券勺,Normalize.css保持了許多默認(rèn)瀏覽器樣式绪钥;這就意味著你不用再為所有公共的排版元素重新設(shè)置樣式。
2.Normalize.css修復(fù)了瀏覽器的bug关炼,它修復(fù)了常見的桌面端和移動(dòng)端移動(dòng)瀏覽器的bug程腹,這往往超過了reset.css所能做到的范疇。

六儒拂、IE盒模型和標(biāo)準(zhǔn)盒模型有什么區(qū)別? 怎樣使 IE678使用標(biāo)準(zhǔn)盒模型?box-sizing:border-box有什么作用寸潦?
IE盒模型下盒子的寬度=邊框+padding+內(nèi)容寬度(IE6,7,8怪異模式)
標(biāo)準(zhǔn)盒模型下盒子的寬度=內(nèi)容寬度
通過添加doctype聲明使IE678使用標(biāo)準(zhǔn)盒模型色鸳。
box-size:border-box;是CSS3新增屬性,設(shè)置此屬性之后见转,相當(dāng)于以怪異模式解析命雀。通常一個(gè)塊級(jí)元素實(shí)際所占寬高度=外邊距(margin)+ 邊界寬度(border-width) + 內(nèi)邊距(padding)+ 高度(height) / 寬度(width)
如果設(shè)置了border-box,實(shí)際所占寬高度 = 設(shè)置的高度(height)/ 設(shè)置的寬度(width)+ 外邊距(margin)
示例:


參考:
1.CSS hack方式
2. 史上最全的CSS hack方式一覽
3.div+CSS瀏覽器兼容問題整理
4.Normalize.css和Reset CSS的區(qū)別
5.normalize.css與reset.css區(qū)別
6.關(guān)于css樣式的重置:Reset.css和Normalize.css

版權(quán)歸本人所有斩箫,若有轉(zhuǎn)載吏砂,請(qǐng)注明來源。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末乘客,一起剝皮案震驚了整個(gè)濱河市狐血,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌易核,老刑警劉巖匈织,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異牡直,居然都是意外死亡报亩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門井氢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弦追,“玉大人,你說我怎么就攤上這事花竞【⒓” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我涎跨,道長畜埋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任陨闹,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纬向。我一直安慰自己,他們只是感情好戴卜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布逾条。 她就那樣靜靜地躺著,像睡著了一般投剥。 火紅的嫁衣襯著肌膚如雪师脂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音吃警,去河邊找鬼糕篇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛酌心,可吹牛的內(nèi)容都是我干的娩缰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼谒府,長吁一口氣:“原來是場噩夢啊……” “哼拼坎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起完疫,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤泰鸡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后壳鹤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盛龄,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年芳誓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了余舶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锹淌,死狀恐怖匿值,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赂摆,我是刑警寧澤挟憔,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站烟号,受9級(jí)特大地震影響绊谭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜汪拥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一达传、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迫筑,春花似錦宪赶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至曲伊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坟募。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工岛蚤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人懈糯。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓涤妒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赚哗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子她紫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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

  • 1.如何調(diào)試 IE 瀏覽器? IE7以上可以用開發(fā)者工具進(jìn)行調(diào)試屿储,而IE6可以使用加border的方式去調(diào)試贿讹。 可...
    Sheldon_Yee閱讀 356評(píng)論 0 3
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,759評(píng)論 1 92
  • 一够掠、如何調(diào)試 IE 瀏覽器民褂? 在IE7以上的版本中可以通過按快捷鍵F12調(diào)出開發(fā)人員調(diào)試框,如下圖IE7以上調(diào)試工...
    dengpan閱讀 550評(píng)論 0 2
  • 一疯潭、問答部分 1. 如何調(diào)試 IE 瀏覽器 IE7及以上版本有調(diào)試臺(tái)赊堪,可以按F12啟動(dòng)。Paste_Image.p...
    _hello__world_閱讀 472評(píng)論 0 1
  • 一竖哩、如何調(diào)試 IE 瀏覽器 IE7以上版本自帶的開發(fā)者工具哭廉,IE6可以用border的方法;例:IE11的開發(fā)者工...
    __Qiao閱讀 1,128評(píng)論 2 17