web端 css hack
定義:
一般都是利用各瀏覽器的支持CSS的能力和BUG來進行的,可以分為能力選擇和怪癖選擇(BUG)。
能力通常是指瀏覽器對CSS特性的支持程度,而怪癖是指瀏覽器特有的一些BUG。
總結:這裡定義的很清晰哦:第一瀏覽器的對 css 支持程度 不一樣,第二,不同的瀏覽器攜帶自身特有的屬性。
提醒:
盡量找到通用方法而減少對CSS Hack的使用,大規模使用CSS
Hack會帶來維護成本的提高以及瀏覽器版本變化而帶來類似Hack失效等系列問題
總結:這裡指出,不是hack 寫的越多越好,考慮到 每種瀏覽器各個版本之間還存在差異,時間花費,也不一定就有好的成效。
書寫方法:
CSS hack書寫順序,一般是將適用範圍廣、被識別能力強的CSS定義在前面。稍後回有例子。
本次主要說明 瀏覽器的對 css 支持程度
三種書寫方法:
一:條件Hack ( IE )
<!--[if <keywords>? IE <version>?]> HTML代碼塊 <![endif]-->
if條件共包含6種選擇方式:是否、大於、大於或等於、小於、小於或等於、非指定版本
是否:
指定是否IE或IE某個版本。關鍵字:空
大於:
選擇大於指定版本的IE版本。關鍵字:gt(greater than)
大於或等於:
選擇大於或等於指定版本的IE版本。關鍵字:gte(greater than or equal)
小於:
選擇小於指定版本的IE版本。關鍵字:lt(less than)
小於或等於:
選擇小於或等於指定版本的IE版本。關鍵字:lte(less than or equal)
非指定版本:
選擇除指定版本外的所有IE版本。關鍵字:!
特彆強調 IE10以後沒有條件hack了。
舉例子:
<!--[if IE 8]> //這是格式
//這裡是code區域,不僅可以是css 也可以使html標籤 (HTML代碼塊 )
<style>
div{position:relative;}
</style>
<![endif]-->
二:屬性Hack ( 了解,官方說明:需謹慎使用 )
selector{?property:value?;}
就簡單舉個例子,就不做詳細的說明了
如想同一段文字在IE6,7,8顯示為不同顏色,可這樣寫:
三:選擇符級Hack ( 了解,官方說明:需謹慎使用 )
這個就是我們常用的css選擇器。只要多注意一些css語法的兼容性,一般不建議使用hack。
* html .test { color: #090; } /* For IE6 and earlier */
* + html .test { color: #ff0; } /* For IE7 */
.test:lang(zh-cmn-Hans) { color: #f00; } /* For IE8+ and not IE */
.test:nth-child(1) { color: #0ff; } /* For IE9+ and not IE
*/
總結一下:這裡簡單介紹一下css hack的說明。關於兼容瀏覽器的hack,盡量少使用。
原因:1 開發項目 不僅考慮
瀏覽器之前的版本,更要注意 瀏覽器的後續發展,不能已解決現在的問題,就是完全解決問題。一方面:這樣敲代碼,用一位前輩的話來說:
Inhumanity,不人道的,後面接手的兄弟(或者妹子)完全抓狂另外一點:多考慮,有利於今後解決問題的多思路,對於今後的代碼容錯有非常大的幫助。
2
瀏覽器的兼容,需要說明兼容的版本,以及理由,這也是我們程序員的應該要考慮的。 作為一個面向大學生消費群體的應用,去兼容IE67
這樣的需求,完全可以拍回去。
· 學IT,就來中公優就業:http://www.ujiuye.com/
· 2017年【中公教育】特別推出2017年就業促進計劃,500萬就業基金助你成為IT達人
詳情請戳http://www.ujiuye.com/zt/jycj/?wt.bd=bgz
· 什麼?海量IT學習資料白給你都不要?別想了,加群搶:584539956
※MYSQL INNODB引擎下:根據.frm和.ibd文件恢復表結構和數據
※Net知識圖譜
※Docker入門之四搭建私有倉庫
※.NET十年回顧
TAG:IT優就業 |