自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

系統(tǒng) 瀏覽器 系統(tǒng)運維
Vendor prefix—瀏覽器引擎前綴,是一些放在CSS屬性前的小字符串,用來確保這種屬性只在特定的瀏覽器渲染引擎下才能識別和生效。

[[170120]]

瀏覽器引擎前綴(Vendor Prefix)是什么?

Vendor prefix—瀏覽器引擎前綴,是一些放在CSS屬性前的小字符串,用來確保這種屬性只在特定的瀏覽器渲染引擎下才能識別和生效。谷歌瀏覽器和Safari瀏覽器使用的是WebKit渲染引擎,火狐瀏覽器使用的是Gecko引擎,Internet Explorer使用的是Trident引擎,Opera以前使用Presto引擎,后改為WebKit引擎。一種瀏覽器引擎里一般不實現(xiàn)其它引擎前綴標(biāo)識的CSS屬性,但由于以WebKit為引擎的移動瀏覽器相當(dāng)流行,火狐等瀏覽器在其移動版里也實現(xiàn)了部分WebKit引擎前綴的CSS屬性。

瀏覽器引擎前綴(Vendor Prefix)有哪些?

  1. -moz- /* 火狐等使用Mozilla瀏覽器引擎的瀏覽器 */ 
  2.  
  3. -webkit- /* Safari, 谷歌瀏覽器等使用Webkit引擎的瀏覽器 */ 
  4.  
  5. -o- /* Opera瀏覽器(早期) */ 
  6.  
  7. -ms- /* Internet Explorer (不一定) */ 

為什么需要瀏覽器引擎前綴(Vendor Prefix)?

這些瀏覽器引擎前綴(Vendor Prefix)主要是各種瀏覽器用來試驗或測試新出現(xiàn)的CSS3屬性特征。可以總結(jié)為以下3點:

  • 試驗一些還未成為標(biāo)準(zhǔn)的的CSS屬性——也許永遠(yuǎn)不會成為標(biāo)準(zhǔn)
  • 對新出現(xiàn)的標(biāo)準(zhǔn)的CSS3屬性特征做實驗性的實現(xiàn)
  • 對CSS3中一些新屬性做等效語義的個性實現(xiàn)

這些前綴并非所有都是需要的,但通常你加上這些前綴不會有任何害處——只要記住一條,把不帶前綴的版本放到***一行:

  1. -moz-border-radius: 10px; 
  2.  
  3. -webkit-border-radius: 10px; 
  4.  
  5. -o-border-radius: 10px; 
  6.  
  7. border-radius: 10px; 

有些新的CSS3屬性已經(jīng)試驗了很久,一些瀏覽器已經(jīng)對這些屬性不再使用前綴。Border-radius屬性就是一個非常典型的例子。***版的瀏覽器都支持不帶前綴的Border-radius屬性寫法。

需要使用Vendor Prefixes的CSS3屬性

主要的需要添加瀏覽器引擎前綴(vendor-prefix)的屬性包括:

  • @keyframes
  • 移動和變換屬性(transition-property, transition-duration, transition-timing-function, transition-delay)
  • 動畫屬性 (animation-name, animation-duration, animation-timing-function, animation-delay)
  • border-radius
  • box-shadow
  • backface-visibility
  • column屬性
  • flex屬性
  • perspective屬性

完整的列表不只這些,而且還會增加。

瀏覽器引擎前綴(vendor-prefix)的用法

當(dāng)需要使用瀏覽器引擎前綴(vendor-prefix)時,***是把帶有各種前綴的寫法放在前面,然后把不帶前綴的標(biāo)準(zhǔn)的寫法放到***。比如:

  1. /* 簡單屬性 */ 
  2.  
  3. .myClass { 
  4.  
  5. -webkit-animation-name: fadeIn; 
  6.  
  7. -moz-animation-name: fadeIn; 
  8.  
  9. -o-animation-name: fadeIn; 
  10.  
  11. -ms-animation-name: fadeIn; 
  12.  
  13. animation-name: fadeIn; /* 不帶前綴的放到*** */ 
  14.  
  15.  
  16. /* 復(fù)雜屬性 keyframes */ 
  17.  
  18. @-webkit-keyframes fadeIn { 
  19.  
  20. 0% { opacity: 0; } 100% { opacity: 0; } 
  21.  
  22.  
  23. @-moz-keyframes fadeIn { 
  24.  
  25. 0% { opacity: 0; } 100% { opacity: 0; } 
  26.  
  27.  
  28. @-o-keyframes fadeIn { 
  29.  
  30. 0% { opacity: 0; } 100% { opacity: 0; } 
  31.  
  32.  
  33. @-ms-keyframes fadeIn { 
  34.  
  35. 0% { opacity: 0; } 100% { opacity: 0; } 
  36.  
  37.  
  38. /* 不帶前綴的放到*** */ 
  39.  
  40. @keyframes fadeIn { 
  41.  
  42. 0% { opacity: 0; } 100% { opacity: 0; } 
  43.  

Internet Explorer

Internet Explorer 9 開始支持很多(但并不是全部)CSS3里的新屬性。比如,你也可以在IE里使用不帶瀏覽器引擎前綴(vendor-prefix)的border-radius屬性。

IE6到IE8都不支持CSS3,很遺憾的是,使用這些低版本瀏覽器的用戶還很多。所以,確保你的網(wǎng)站設(shè)計在不支持CSS3的情況下也能正常顯示。對于一些屬性:border-radius , linear-gradient, 和 box-shadow, 你可以使用CSS3Pie,它是一個很小的文件,把它放到你的網(wǎng)站的根目錄下,就能讓你的頁面中IE6,IE8中也支持這些屬性。

責(zé)任編輯:武曉燕 來源: WEB駭客
相關(guān)推薦

2024-04-10 09:05:37

2021-08-30 09:57:40

2011-02-22 09:50:21

2012-06-04 10:35:55

FirefoxChrome瀏覽器

2019-02-13 23:03:06

IE瀏覽器微軟

2022-02-28 21:15:42

火狐火狐瀏覽器瀏覽器

2009-06-15 08:37:08

微軟Windows 7操作系統(tǒng)

2021-09-26 05:04:45

瀏覽器AppActivity

2021-08-06 10:10:47

Safari開發(fā)者瀏覽器

2013-11-20 13:47:43

瀏覽器渲染引擎

2009-03-23 08:52:51

2013-01-11 09:51:03

瀏覽器

2015-02-28 09:39:24

Windows 10Spartan

2017-01-05 18:57:19

2012-03-19 17:25:22

2012-03-20 11:41:18

海豚瀏覽器

2012-03-20 11:31:58

移動瀏覽器

2012-03-20 11:07:08

2011-09-09 17:39:58

WebKit瀏覽器

2021-12-09 07:54:19

瀏覽器引擎編譯
點贊
收藏

51CTO技術(shù)棧公眾號