瀏覽器的兼容與CSS技巧

一、如何調試 IE 瀏覽器
1、IE7以上版本的瀏覽器自帶開發者工具,可以直接設置進行調試。

ie兼容.jpg

2、用f2etest可以直接設置不同瀏覽器版本進行測試。
3、建議安裝Xp的虛擬機,模擬不同版本的IE瀏覽器。
二、什么是CSS hack?在 CSS 和 HTML里如何寫 hack?在 CSS 中 ie6、ie7的 hack 方式?
一般情況下,用自己的瀏覽器寫代碼進行設計時,可以完美展示,但是如果放在版本比較低的瀏覽器上,會有些效果運行不了,不能正常顯示。讓網頁樣式兼容不同的瀏覽器,使css代碼兼容不同的瀏覽器,需用非一般的手段解決問題,用一個bug解決此bug,寫css hak。
針對一些瀏覽器不兼容的bug, 用css hak實現兼容性。
方法:1、寫在html里的條件注釋。條件注釋是如果是在IE6的瀏覽器下,會顯示“那就展示這句話”如果不是在IE的瀏覽器下,會顯示“那就展示這句話”一般為提升網頁的可讀性,會添加注釋本身再網頁客戶端是不顯示的,或者/這是注釋/
2、寫在css里的css hack,讓網頁兼容不同的瀏覽器,css hack的目的就是使css代碼兼容不同的瀏覽器。一般頁面上使用較多的IE6,IE7,IE6,7這三種。IE6的hack寫法是_例如p{color:blue;_color:blue;}同時寫上hack和正常內容;對于代碼“_color:blue”IE6可以讀取,但是IE7就不行了。IE6,7的hack是,例如p{min-height:100px;height:100px;}由于min-height不兼容6,7。li{display:inline-block;display:inline;}inline-block,不支持6,7,進行相應設置即可。
3、在IE6,7中的hack方式是屬性前面加個
,即p{display:inline;}則該屬性再ie6和IE7下均有效
三、列舉幾種 瀏覽器兼容問題
1、不同瀏覽器的外補丁、內補丁默認不一樣大
1、display:inline-block只支持IE8及以上版本,如果要使用,需設置.wrap{display:inline-block;
display:inline;}
2、box-sizing:border-box只支持IE8及以上版本
3、background-size:只支持IE8以上版本
4、opacity支持IE8以上及部分IE8版本
四、針對兼容、多瀏覽器覆蓋有什么看法?漸進增強優雅降級是什么意思?
看法:1、根據項目針對的目標客戶特點,進行瀏覽器兼容的設置;
2、一般需要兼容至要求最低版本,在項目開始前,確定最低支持的版本,設計兼容方案,比如目標客戶一般使用IE7,IE8,IE9及以上,那么我們應該兼容IE7;
漸進增強和優雅降級都是由于低版本瀏覽器不支持CSS3,但是CSS3的效果比較好(比如圓角),所以再版本高的瀏覽器顯示正常的,在低版本瀏覽器只保證一般顯示,二者的區別是:
漸進增強:設計頁面時針對低版本瀏覽器,再針對高版本瀏覽器進行改進設計,實現更加的效果。
優雅降級:開發頁面的時候不用考慮兼容性,在完成之后,某些低版本瀏覽器兼容不了時,再對低版本瀏覽器進行設計實現兼容。

五、reset.css和normalize.css分別是做什么的?為什么推薦使用 nomalize.css
?
Normalize.css是保留瀏覽器的原來樣式并且做到每個瀏覽顯示一致。 CSS Reset(兼容ie6)相反把瀏覽器的默認樣式都重置了,就算一般默認的h1-h6,如果設置CSS Reset,則字體為瀏覽器默認大小,字體。
推薦使用nomalize.css的原因:
1、Reset通過為幾乎所有的元素施加默認樣式,強行使得元素有相同的視覺效果。相比之下,Normalize.css保持了許多默認的瀏覽器樣式。
2、Normalize.css 修復了瀏覽器的bug
3、使用Reset在瀏覽器調試工具中有較多的繼承鏈,而 Normalize.css 會有目的地對目標元素設置樣式,不會讓調試工具變的雜亂。
4、Normalize.css 是模塊化的
5、Normalize.css的代碼基于詳細而全面的跨瀏覽器研究與測試,擁有詳細的代碼說明。
六、IE盒模型和標準盒模型有什么區別? 怎樣使 IE678使用標準盒模型?box-sizing:border-box有什么作用
IE盒模型型是在ie6/ie7/ie8版本下,不加<!DOCTYPE html>的樣式,即為怪異模式,則盒模型元素設置的width和height值為元素的占據位置,包括元素的大小,內邊距,邊框,外邊距。

標準盒模型在ie6/ie7/ie8版本下,或者更高版本或者谷歌瀏覽器,加上<!DOCTYPE html>即為標準的W3C盒模型,即盒模型元素設置的width和height只僅僅是元素的大小,元素所占的位置要加上margin,border,padding。
在IE6,7,8版本下在html代碼的頭部加入<!DOCTYPE html>,即可使用標準盒模型。
box-sizing:border-box為元素設置了寬和高,即使盒子設定為IE盒模型,不是標準盒模型,設置的寬高包括元素自身的大小,padding,border,margin

box-sizing的使用
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容