js修改css選擇器的樣式作用到全局


目前總結有四個方法;

1.新建style標簽,寫上樣式 覆蓋掉之前的樣式;

2.css中使用var變量,然后通過 CSSStyleDeclaration.setProperty()設置變量的值;注意css中變量的作用域 只能是當前元素及子元素;

  例如:

index.css

   

#box{
   color: var(--color);
}

index.js

document.getElementById("box").style.setProperty("--color","red");

3.css中 attr()

兼容性不好。

CSS函數attr()是用來獲取被選中元素的屬性值,並且在樣式文件中使用。它也可以用在偽類元素里,在偽類元素里使用,它得到的是偽元素的原始元素的值。

attr()函數可以和任何CSS屬性一起使用,但是除了content外,其余都還是試驗性的(簡單說就是不穩定,瀏覽器不一定支持)。

例如 :

index.css

#box{
  color:attr(data-color)  
}

index.js

document.getElementById("box").dataset.color = "red";

4.通過cssStyleSheet修改樣式表;不太靈活,不同環境獲取樣式表的方式不同,可能開發環境是style標簽,生產環境就是 link標簽了。

tip:方法2,3,的兼容性還需查詢caniuse,方法4不太靈活

參考文章:css中的var的作用域;

var 官方文檔

CSSStyleSheet參考;

var 參考文章

 


免責聲明!

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



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