在CSS3中及VUE中使用 var() 和 八位十六進制的顏色值


在CSS3中及VUE中使用 var() 八位十六進制的顏色值

最近因為項目(vue)需求的改動,需要根據后天返回的數據來動態的去改變一些樣式。 剛開始也沒有什么好的方法,想過樣式的綁定,但是不行。想過使用 Jquery 來改變, 雖然可以,但是感覺太麻煩,而且有時候不太穩定。
最后,發現可以使用CSS3中的 var() 來聲明變量來使用。 var()是CSS3中的一個函數。定義: var()函數用於插入自定義的屬性值。如果一個屬性值在在多處被使用,該方法就很有用。 在了解了CSS3中的 var()函數后,我還是很關心它的瀏覽器兼容性是如何的。

  

可以從MDN官方給出的數據中知道,這個CSS3中的var函數除了 IE 中不支持外,其他的瀏覽器除了版本極低的情況,都很好的支持了。 用法也很簡單:1、變量在聲明時必須以 -- 開頭。2、后面可以跟自定義屬性名。3、在var()使用自定義的屬性名。
在vue中用法類似,但vue可以同過樣式綁定的方式來聲明變量。
  
這樣就可以動態的去改變一些樣式,也不需要使用 Jquery。而且還可以多處使用。

但是有時候,這樣也不能滿足需求,比如:如果給你的是十六進制的顏色值,但是在一些地方卻需要有一定的透明度。 可以將十六進制的顏色制顏色值轉化為rbga(或者有需要可以轉化為rgb)。如果能不轉化最好。 這里就需要用到 八位十六進制的顏色值
這是6位十六進制的顏色值  

  

這是8位十六進制的顏色值
很明顯,可以看出8位十六進制的顏色值的最后兩位代表了透明度,值越小,越透明,值不能為100。
最后還有個坑,就是 IE 不支持這種寫法。所以,如果真的要 兼容IE就把 這種的寫法轉化為rgba的形式。
      
      這里的透明度是寫成了固定的0.1,可以修改為動態的,多傳個參數透明度就行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM