Vendor Prefix:為什么需要瀏覽器引擎前綴

瀏覽器引擎前綴(Vendor Prefix)是什么?
Vendor prefix—瀏覽器引擎前綴,是一些放在CSS屬性前的小字符串,用來(lái)確保這種屬性只在特定的瀏覽器渲染引擎下才能識(shí)別和生效。谷歌瀏覽器和Safari瀏覽器使用的是WebKit渲染引擎,火狐瀏覽器使用的是Gecko引擎,Internet Explorer使用的是Trident引擎,Opera以前使用Presto引擎,后改為WebKit引擎。一種瀏覽器引擎里一般不實(shí)現(xiàn)其它引擎前綴標(biāo)識(shí)的CSS屬性,但由于以WebKit為引擎的移動(dòng)瀏覽器相當(dāng)流行,火狐等瀏覽器在其移動(dòng)版里也實(shí)現(xiàn)了部分WebKit引擎前綴的CSS屬性。
瀏覽器引擎前綴(Vendor Prefix)有哪些?
-moz- /* 火狐等使用Mozilla瀏覽器引擎的瀏覽器 */
-webkit- /* Safari, 谷歌瀏覽器等使用Webkit引擎的瀏覽器 */
-o- /* Opera瀏覽器(早期) */
-ms- /* Internet Explorer (不一定) */
為什么需要瀏覽器引擎前綴(Vendor Prefix)?
這些瀏覽器引擎前綴(Vendor Prefix)主要是各種瀏覽器用來(lái)試驗(yàn)或測(cè)試新出現(xiàn)的CSS3屬性特征??梢钥偨Y(jié)為以下3點(diǎn):
- 試驗(yàn)一些還未成為標(biāo)準(zhǔn)的的CSS屬性——也許永遠(yuǎn)不會(huì)成為標(biāo)準(zhǔn)
- 對(duì)新出現(xiàn)的標(biāo)準(zhǔn)的CSS3屬性特征做實(shí)驗(yàn)性的實(shí)現(xiàn)
- 對(duì)CSS3中一些新屬性做等效語(yǔ)義的個(gè)性實(shí)現(xiàn)
這些前綴并非所有都是需要的,但通常你加上這些前綴不會(huì)有任何害處——只要記住一條,把不帶前綴的版本放到最后一行:
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
有些新的CSS3屬性已經(jīng)試驗(yàn)了很久,一些瀏覽器已經(jīng)對(duì)這些屬性不再使用前綴。Border-radius屬性就是一個(gè)非常典型的例子。最新版的瀏覽器都支持不帶前綴的Border-radius屬性寫(xiě)法。
需要使用Vendor Prefixes的CSS3屬性
主要的需要添加瀏覽器引擎前綴(vendor-prefix)的屬性包括:
- @keyframes
- 移動(dòng)和變換屬性(transition-property, transition-duration, transition-timing-function, transition-delay)
- 動(dòng)畫(huà)屬性 (animation-name, animation-duration, animation-timing-function, animation-delay)
- border-radius
- box-shadow
- backface-visibility
- column屬性
- flex屬性
- perspective屬性
完整的列表不只這些,而且還會(huì)增加。
瀏覽器引擎前綴(vendor-prefix)的用法
當(dāng)需要使用瀏覽器引擎前綴(vendor-prefix)時(shí),最好是把帶有各種前綴的寫(xiě)法放在前面,然后把不帶前綴的標(biāo)準(zhǔn)的寫(xiě)法放到最后。比如:
/* 簡(jiǎn)單屬性 */ .myClass { -webkit-animation-name: fadeIn; -moz-animation-name: fadeIn; -o-animation-name: fadeIn; -ms-animation-name: fadeIn; animation-name: fadeIn; /* 不帶前綴的放到最后 */ } /* 復(fù)雜屬性 keyframes */ @-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 0; } } @-moz-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 0; } } @-o-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 0; } } @-ms-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 0; } } /* 不帶前綴的放到最后 */ @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 0; } }
Internet Explorer
Internet Explorer 9 開(kāi)始支持很多(但并不是全部)CSS3里的新屬性。比如,你也可以在IE里使用不帶瀏覽器引擎前綴(vendor-prefix)的border-radius屬性。
IE6到IE8都不支持CSS3,很遺憾的是,使用這些低版本瀏覽器的用戶還很多。所以,確保你的網(wǎng)站設(shè)計(jì)在不支持CSS3的情況下也能正常顯示。對(duì)于一些屬性:border-radius , linear-gradient, 和 box-shadow, 你可以使用CSS3Pie,它是一個(gè)很小的文件,把它放到你的網(wǎng)站的根目錄下,就能讓你的頁(yè)面中IE6,IE8中也支持這些屬性。
相關(guān)文章
15 個(gè)為編程初學(xué)者準(zhǔn)備的網(wǎng)站(都是國(guó)外的一些網(wǎng)站)
今天的文章,我們將分享15個(gè)可以學(xué)習(xí)編程的網(wǎng)站,這些網(wǎng)站上提供了很多編程教程,圖書(shū)以及編程練習(xí),希望對(duì)你有用2024-11-02web開(kāi)發(fā)中的長(zhǎng)度單位小結(jié)
這篇文章主要介紹了web開(kāi)發(fā)中的長(zhǎng)度單位主要包括px,pt,em等,需要的朋友可以參考下2023-08-06網(wǎng)頁(yè)前端開(kāi)發(fā)的一些尺寸單位(px,rem單位)
px單位是絕對(duì)單位,一般用于pc端網(wǎng)頁(yè)開(kāi)發(fā),因?yàn)槭墙^對(duì)單位所以在移動(dòng)端上的使用體驗(yàn)并不是很好,rem它是描述相對(duì)于當(dāng)前根元素字體尺寸,是相對(duì)單位,它可以根據(jù)根元素的變換而2023-08-06WEB前端優(yōu)化必備js/css壓縮工具YUI-compressor詳解與集成用法
壓縮工具層次不窮,各有優(yōu)點(diǎn),選擇適合的壓縮工具為將來(lái)做項(xiàng)目開(kāi)發(fā)使用是一件很重要的事情?。≡谶@介紹YUI-compressor,需要的朋友可以參考下2023-06-21html,css,javascript是怎樣變成頁(yè)面的
瀏覽器是多進(jìn)程的,有瀏覽器主進(jìn)程,網(wǎng)絡(luò)進(jìn)程,渲染進(jìn)程,插件進(jìn)程等,在將html,css,javascript解析成一個(gè)頁(yè)面的時(shí)候,就需要多個(gè)進(jìn)程的分工合作2023-05-01- 本文為大家整理了常用的文件對(duì)應(yīng)的MIME類(lèi)型,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-25
postman中form-data、x-www-form-urlencoded、raw、binary的區(qū)別介紹
這篇文章介紹了postman中form-data、x-www-form-urlencoded、raw、binary的區(qū)別,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-28網(wǎng)頁(yè)中使用Unicode字符的介紹(&#,\u等)
國(guó)際組織制定了可以容納世界上所有文字和符號(hào)的字符編碼方案,稱為Unicode,是通用字符集Universal Character Set的縮寫(xiě),用以滿足跨語(yǔ)言、跨平臺(tái)進(jìn)行文本轉(zhuǎn)換、處理的要求2021-11-27前端實(shí)現(xiàn)字符串GBK與GB2312的編解碼(小結(jié))
這篇文章主要介紹了前端實(shí)現(xiàn)字符串GBK與GB2312的編解碼(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-12-02告別硬編碼讓你的前端表格自動(dòng)計(jì)算的實(shí)例代碼
這篇文章主要介紹了告別硬編碼讓你的前端表格自動(dòng)計(jì)算,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-27