日夜談——瀏覽器那些事

task13.png

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

<li>IE7以上可以用開(kāi)發(fā)者工具進(jìn)行調(diào)試,而IE6可以使用加border的方式去調(diào)試。
<li>可以采用模擬器的方式去模擬不同版本的IE瀏覽器。例如:ietester或chrome的付費(fèi)插件Test IE。
<li>可以采用安裝虛擬機(jī)的方式,安裝不同版本的IE瀏覽器以達(dá)到不同IE瀏覽器版本的調(diào)試目的。

</br>

2什么是CSS hack?在 CSS 和 HTML里如何寫(xiě) hack?在 CSS 中 ie6、ie7的 hack 方式?

CSS hack:由于不同瀏覽器或者不同瀏覽器版本的網(wǎng)頁(yè)解析方式不同,因而導(dǎo)致CSS的輸出效果不同,而這個(gè)時(shí)候就需要CSS hack來(lái)解決局部兼容問(wèn)題,而這個(gè)過(guò)程就稱(chēng)之為CSS hack。

CSS hack:有三種方法:css屬性前綴法、IE條件注釋法和選擇器前綴法

css屬性前綴法:

.box{
color:red;/* for all browsers */
_color:red;/* for ie 6 */
*color:red;/*  for ie 6-7 */
color:red\9; /* for ie 6-10 */
}

選擇器前綴法:

*body{
/* for ie 6 */
}
*+p{
/* for ie 7 */
@media screen\9{
/* for ie 6-7 */

IE條件注釋?zhuān)?/p>

<!--[if IE]>
這段文字只在IE顯示
<![endif]-->
<!--[if IE 6]>
這段文字只在IE6顯示
<![endif]-->
<!--[if gte IE 6]>
這段文字只在IE6或以上版本顯示
<![endif]-->
<!--[if lte IE 6]>
這段文字只在IE6或一下版本顯示
<![endif]-->
<!--[if !IE]>
這段文字在非IE瀏覽器上顯示
<![endif]-->

<li>ie6 hack

css屬性前綴法:
.box{
_color:red;
}
選擇器前綴法:
*box{
color:red;
}
IE條件前綴法:
<!--[if IE 6]>
<div class="box">
<![endif]-->

<li>ie 7 hack

選擇器前綴法:
*+body{
color:red;
}
IE條件前綴法:
<!--[if IE 7]>
<div class="box">
<![endif]-->

<li>ie6&ie7 hack

css屬性前綴法:
.box{
*color:red;
}
選擇器前綴法:
@media .box\9{
color:red;
}
IE條件注釋法:
<!--[if lte 7]>
<div class="box">
<![endif]-->

3.列舉幾種瀏覽器兼容問(wèn)題?

<li>不同瀏覽器的標(biāo)簽?zāi)J(rèn)的margin和padding不一,解決方案是*{margin:0 padding:0}
<li>低版本的IE瀏覽器不兼容inline-block屬性
<li>不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外邊距和內(nèi)邊距(margin和padding)不同;
<li>塊屬性標(biāo)簽float后,又有橫行的margin情況下,在IE6顯示margin比設(shè)置的大;

4. 針對(duì)兼容、多瀏覽器覆蓋有什么看法?漸進(jìn)增強(qiáng)和優(yōu)雅降級(jí)是什么意思?

兼容多瀏覽器的看法:
<li>首先看客戶(hù)需求,分析需求,得出其是否有必要兼容,針對(duì)特定瀏覽器的用戶(hù),設(shè)計(jì)的人員,以及瀏覽器所占的市場(chǎng)份額。
<li>兼容程度,對(duì)于高級(jí)的瀏覽器,我們應(yīng)該盡可能對(duì)頁(yè)面的內(nèi)容有高的展示要求,而低版本的瀏覽器,在能夠正常展示的情況下,要求有所降低。
<li>總的來(lái)說(shuō),需要考慮成本和效益之間的問(wèn)題。

漸進(jìn)增強(qiáng):針對(duì)低版本的瀏覽,先實(shí)現(xiàn)基本的頁(yè)面功能,然后針對(duì)高版本的瀏覽器進(jìn)行添加頁(yè)面效果和交互等等功能,以達(dá)到更好的用戶(hù)體驗(yàn)。
優(yōu)雅降級(jí):是基于高版本的瀏覽器實(shí)現(xiàn)各種功能之后,然后基于低版本的瀏覽器無(wú)法兼容高版本瀏覽器的功能,進(jìn)行逐步的功能和頁(yè)面效果退化,但在此過(guò)程中要保證基本的頁(yè)面功能。

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

reset.css的目的是將所有瀏覽器的自帶樣式重置掉,這樣更易于保持各瀏覽器渲染的一致性。
normalize.css是在保持瀏覽器本身樣式的情況下,為不同瀏覽器提供通用樣式的規(guī)范,即給定通用的樣式,針對(duì)不同瀏覽器出現(xiàn)的兼容性問(wèn)題分門(mén)別類(lèi)的提供優(yōu)化方案。

normalize.css的優(yōu)勢(shì):
1.normalize.css是一個(gè)現(xiàn)代的,為HTML5準(zhǔn)備的reset.css的替代品。它可以使元素的渲染在多個(gè)瀏覽器下都能保持一致并且符合規(guī)范。它所瞄準(zhǔn)的,也都是些需要規(guī)范化的樣式。
2.normalize.css保存了部分可用的默認(rèn)樣式。
3.normalize修復(fù)了一些常見(jiàn)的PC端及移動(dòng)端的bug,這往往超出了reset的能力范圍

借用一位知友的話說(shuō)就是,reset是革命黨,normalize是改良派。reset的方針就是都tm給我脫光光,老子今天要翻牌。什么豹紋,蕾絲,美顏相機(jī)統(tǒng)統(tǒng)給我拿掉,老子讀書(shū)少,都別騙我。于是,一個(gè)個(gè)屌絲心中的女神都重拾了素顏,但回到本真又能怎樣?那兩厘米的粉底不都是為了你?于是,在旁邊的normalize看不下去了。它主張生活不必處處追求真實(shí),有時(shí)應(yīng)該睜一只眼,閉一只眼。

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

IE盒子的寬度=padding+margin+content寬度(怪異模式下)
標(biāo)準(zhǔn)盒模型下盒子的寬度=內(nèi)容寬度
通過(guò)添加doctype聲明使IE678使用標(biāo)準(zhǔn)盒模型。

當(dāng)設(shè)置了bor-sizing:border-box后,一個(gè)塊級(jí)元素實(shí)際所占寬高度= 邊界寬度(border-width) + 內(nèi)邊距(padding)+ 高度(height) / 寬度(width)

參考:
<a >CSS hack方式</a>
<a >史上最全的CSS hack方式一覽</a>
<a >
瀏覽器兼容問(wèn)題整理</a>
<a >normalize.css和reset.css的區(qū)別</a>
<a >關(guān)于css樣式的重置:Reset.css和Normalize.css</a>

版權(quán)歸饑人谷和饑人谷peter所有,若有轉(zhuǎn)載,請(qǐng)注明來(lái)源

感謝吃瓜子觀眾:

task13 (2).png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、如何調(diào)試 IE 瀏覽器 IE7以上版本自帶的開(kāi)發(fā)者工具,IE6可以用border的方法;例:IE11的開(kāi)發(fā)者工...
    __Qiao閱讀 1,179評(píng)論 2 17
  • 前端離不開(kāi)“瀏覽器”,要學(xué)好前端,我們就要學(xué)會(huì)調(diào)試IE瀏覽器,并且處理好瀏覽器兼容等有關(guān)瀏覽器的問(wèn)題。 一、如何調(diào)...
    betterwlf閱讀 788評(píng)論 10 4
  • 一、問(wèn)答部分 1. 如何調(diào)試 IE 瀏覽器 IE7及以上版本有調(diào)試臺(tái),可以按F12啟動(dòng)。Paste_Image.p...
    _hello__world_閱讀 565評(píng)論 0 1
  • 一、如何調(diào)試 IE 瀏覽器? IE調(diào)試的一般方法(css): 使用高版本IE控制臺(tái)(對(duì)于IE7以上)IE11的開(kāi)發(fā)...
    婷樓沐熙閱讀 610評(píng)論 0 6
  • “我們選擇和誰(shuí)在一起,一定有這樣一個(gè)意思——我想成為他那樣的人,或者更準(zhǔn)確的說(shuō)法是,我想擁有他身上的某些品質(zhì)。 ”...
    新月飯店大小姐閱讀 170評(píng)論 0 0

友情鏈接更多精彩內(nèi)容