20161216作業(yè)

  • 什么是 CSS hack

由于不同廠商的瀏覽器侦铜,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等媒抠,或者是同一廠商的瀏覽器的不同版本浇冰,如IE6和IE7殊霞,對(duì)CSS的解析認(rèn)識(shí)不完全一樣畸悬,因此會(huì)導(dǎo)致生成的頁(yè)面效果不一樣,得不到我們所需要的頁(yè)面效果灾部。這個(gè)時(shí)候我們就需要針對(duì)不同的瀏覽器去寫(xiě)不同的CSS康铭,讓它能在不同的瀏覽器中也能得到我們想要的頁(yè)面效果,這個(gè)就叫CSS hack赌髓。

  • 談一談瀏覽器兼容的思路

就是當(dāng)你做一款產(chǎn)品時(shí)从藤,你就要考慮這個(gè)網(wǎng)站是不是要做瀏覽器的兼容,如果需要做兼容的話锁蠕,它到底要兼容到ie幾(因?yàn)橐话銇?lái)說(shuō)pc網(wǎng)站的兼容就是ie瀏覽器夷野,國(guó)產(chǎn)瀏覽器就是chrome和ie內(nèi)核,而firefoxs及其他的瀏覽器會(huì)自動(dòng)升級(jí)就相當(dāng)于它是最新的)荣倾。
如果要兼容的話悯搔,如果去做?

  • 要不要做

    • 產(chǎn)品的角度(產(chǎn)品的受眾舌仍、受眾的瀏覽器比例妒貌、效果優(yōu)先還是基本功能優(yōu)先)
    • 成本的角度(有無(wú)必要做某件事)
  • 做到什么程度

    • 讓哪些瀏覽器支持哪些效果
  • 如何做

  • 根據(jù)兼容需求選擇技術(shù)框架/庫(kù)(jquery)

  • 根據(jù)兼容需求選擇兼容工具(html5shiv.jsrespond.js抡笼、css reset苏揣、normalize.cssModernizr

  • postCSS

  • 條件注釋推姻、CSS Hack、is能力檢測(cè)做一些修補(bǔ)

  • 列舉5種以上瀏覽器兼容的處理細(xì)節(jié)

  1. 雙倍邊距
    如果你有一個(gè)分配有左/右邊距的浮動(dòng)元素框沟,IE6會(huì)使得邊距雙倍化藏古。比如,margin-left: 5px忍燥; 將會(huì)變成10px拧晕。
    可以通過(guò)對(duì)浮動(dòng)元素添加display:inline來(lái)解決這個(gè)問(wèn)題
div#content {
  float:left;
  width:200px;
  margin-left:10px;
  display:inline;
}
  1. IE的最小高度
    IE忽略min-height屬性,可以用下面的hack來(lái)修復(fù)它梅垄。
selector {
min-height:500px;
height:auto !important;
height:500px;
}
  1. 禁用IE默認(rèn)的垂直滾動(dòng)條
    默認(rèn)情況下厂捞,即使內(nèi)容適合窗口大小,IE6 和 IE7也會(huì)顯示垂直滾動(dòng)條队丝∶夷伲可以使用overflow:auto,讓滾動(dòng)條只在你需要時(shí)出現(xiàn)机久。
html {
 overflow: auto;
}
  1. IE6臭墨、IE7兼容inline-block
.target{ 
display: inline-block;
*display: inline; 
*zoom: 1;
}
  1. 清除浮動(dòng)
.clearfix:after{
 content: ' '; 
display: block; 
clear: both;
}
.clearfix{
 *zoom: 1;   /* 僅對(duì)ie67有效 */
}
  • 以下工具/名詞是做什么的

  • 條件注釋
    條件注釋?zhuān)╟onditional comment)是于HTML源碼中被IE有條件解釋的語(yǔ)句。條件注釋可被用來(lái)向IE提供及隱藏代碼膘盖。

<!--[if IE 6]>
<p>You are using Internet Explorer 6.</p>
<![endif]-->
<!--[if !IE]><!-->
<script>alert(1);</script>
<!--<![endif]-->
<!--[if IE 8]>
<link href="ie8only.css" rel=''stylesheet''>
<![endif]-->

使用了條件注釋的頁(yè)面在Windows Internet Explore 9 中可正常工作胧弛,但是在Internet 10 中無(wú)法正常工作尤误。IE10不再支持條件注釋

  • IE Hack
    通過(guò)CSS屬性前綴法、選擇器前綴法以及IE條件注釋法寫(xiě)只有IE瀏覽器能識(shí)別的css樣式结缚。
    例子:
.box{
 color: red; 
_color: blue; /*ie6*/ 
*color: pink; /*ie67*/ 
color: yellow\9; /*ie/edge 6-8*/
}
  • js 能力檢測(cè)
    就是看瀏覽器是否支持當(dāng)前對(duì)象的屬性或是方法损晤,先通過(guò)獲得頁(yè)面文本內(nèi)容的方式來(lái)了解兼容性,并封裝函數(shù)或?qū)ο笠越鉀Q此類(lèi)問(wèn)題红竭。

  • html5shiv.js
    用于解決IE9以下版本瀏覽器對(duì)HTML5新增標(biāo)簽不識(shí)別尤勋,并導(dǎo)致CSS不起作用的問(wèn)題。

  • respond.js
    Respond.js 是一個(gè)快速德崭、輕量的 polyfill(用于實(shí)現(xiàn)瀏覽器并不支持的原生API的代碼斥黑。),用于為 IE6-8 以及其它不支持 CSS3 Media Queries 的瀏覽器提供媒體查詢(xún)的 min-width 和 max-width 特性眉厨,實(shí)現(xiàn)響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)锌奴。(讓IE6-8支持CSS3 Media Query)

  • css reset
    每個(gè)瀏覽器都有一些自帶的或者共有的默認(rèn)樣式,會(huì)造成一些布局上的困擾憾股,css reset的作用就是重置這些默認(rèn)樣式鹿蜀,使樣式表現(xiàn)一致,比如*{margin:0;padding:0}就是一個(gè)最簡(jiǎn)單的css reset服球。

  • normalize.css
    Normalize.css 是一個(gè)可以定制的CSS文件茴恰,它讓不同的瀏覽器在渲染網(wǎng)頁(yè)元素的時(shí)候形式更統(tǒng)一。
    參考

  • Modernizr
    Modernizr是一個(gè)開(kāi)源的JS庫(kù)斩熊,它使得那些基于訪客瀏覽器的不同(指對(duì)新標(biāo)準(zhǔn)支持性的差異)而開(kāi)發(fā)不同級(jí)別體驗(yàn)的設(shè)計(jì)師的工作變得更為簡(jiǎn)單往枣。它使得設(shè)計(jì)師可以在支持HTML5和CSS3的瀏覽器中充分利用HTML5和CSS3的特性進(jìn)行開(kāi)發(fā),同時(shí)又不會(huì)犧牲其他不支持這些新技術(shù)的瀏覽器的控制粉渠。
    參考1
    參考2

  • postCSS
    它可以被理解為一個(gè)平臺(tái)分冈,可以讓一些插件在上面跑
    它提供了一個(gè)解析器,可以將CSS解析成抽象語(yǔ)法樹(shù)
    通過(guò)PostCSS這個(gè)平臺(tái)霸株,我們能夠開(kāi)發(fā)一些插件雕沉,來(lái)處理CSS。熱門(mén)插件如autoprefixer
    參考1
    參考2

文章著作權(quán)歸饑人谷_sunny和饑人谷所有去件,轉(zhuǎn)載須說(shuō)明來(lái)源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坡椒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子尤溜,更是在濱河造成了極大的恐慌倔叼,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靴跛,死亡現(xiàn)場(chǎng)離奇詭異缀雳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)梢睛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)肥印,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)识椰,“玉大人,你說(shuō)我怎么就攤上這事深碱「桂模” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵敷硅,是天一觀的道長(zhǎng)功咒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)绞蹦,這世上最難降的妖魔是什么力奋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮幽七,結(jié)果婚禮上景殷,老公的妹妹穿的比我還像新娘。我一直安慰自己澡屡,他們只是感情好猿挚,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著驶鹉,像睡著了一般绩蜻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上室埋,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天办绝,我揣著相機(jī)與錄音,去河邊找鬼姚淆。 笑死八秃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肉盹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼疹尾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼上忍!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起纳本,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤窍蓝,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后繁成,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吓笙,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年巾腕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了面睛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片絮蒿。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖叁鉴,靈堂內(nèi)的尸體忽然破棺而出土涝,到底是詐尸還是另有隱情,我是刑警寧澤幌墓,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布但壮,位于F島的核電站,受9級(jí)特大地震影響常侣,放射性物質(zhì)發(fā)生泄漏蜡饵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一胳施、第九天 我趴在偏房一處隱蔽的房頂上張望溯祸。 院中可真熱鬧,春花似錦巾乳、人聲如沸您没。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)氨鹏。三九已至,卻和暖如春压状,著一層夾襖步出監(jiān)牢的瞬間仆抵,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工种冬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镣丑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓娱两,卻偏偏與公主長(zhǎng)得像莺匠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子十兢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案趣竣? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,737評(píng)論 1 92
  • 一、如何調(diào)試 IE 瀏覽器旱物? IE調(diào)試的一般方法(css): 使用高版本IE控制臺(tái)(對(duì)于IE7以上)IE11的開(kāi)發(fā)...
    婷樓沐熙閱讀 549評(píng)論 0 6
  • 前端開(kāi)發(fā)面試知識(shí)點(diǎn)大綱: HTML&CSS: 對(duì)Web標(biāo)準(zhǔn)的理解遥缕、瀏覽器內(nèi)核差異、兼容性宵呛、hack单匣、CSS基本功:...
    秀才JaneBook閱讀 2,341評(píng)論 0 25
  • 一:在制作一個(gè)Web應(yīng)用或Web站點(diǎn)的過(guò)程中,你是如何考慮他的UI、安全性户秤、高性能码秉、SEO、可維護(hù)性以及技術(shù)因素的...
    Arno_z閱讀 1,141評(píng)論 0 1
  • 許是被假日的堵車(chē)堵怕了虎忌,所以被催著早早的來(lái)到了車(chē)站泡徙,想來(lái)現(xiàn)在對(duì)端午最大的印象就是艾草,雄黃酒了膜蠢。猶記當(dāng)年大大小小屋...
    蔣小玉閱讀 266評(píng)論 0 0