修改帶!important的css樣式


講解決方法之前,先普及一下css樣式里優先級的一些知識,避免一些剛入行的小白看的迷迷糊糊。

優先級關系:內聯樣式 > ID 選擇器 > 類選擇器 = 屬性選擇器 = 偽類選擇器 > 標簽選擇器 = 偽元素選擇器

優先級規則

   1.css選擇規則的權值不同時,權值高的優先;

   2.css選擇規則的權值相同時,后定義的規則優先;

   3. css屬性后面加 !important 時,無條件絕對優先;

當然,記不住也沒關系,畢竟寫樣式時最常用的方法就是直接在css屬性后面添加一個 !important,使其絕對優先。

不過這樣也會出現一個問題,那就是JS里常用的更改樣式方法無效

js修改方法

js常用方法:元素名.style.屬性名='值';
例如:var btn=document.getElementsByTagName('button'); btn.style.background='red';
這樣是無效的。

而想要更改他,就需要使用setProperty()方法。
setProperty() 方法用於設置一個新的 CSS 屬性,同時也可以修改 CSS 聲明塊中已存在的屬性。

如:var btn=document.getElementsByTagName('button'); btn.style.setProperty('background','red','important');
注:setProperty()的第三個參數沒有 !

jq修改方法

常用的css修改方法
$(".test").css("width","100px !important");
但這種方法是錯誤的。

而想要強制修改,需要添加cssText
例子:
$(".test").css("cssText", "width:50px !important;);

方法親測有效,質量有保障!

參考網站:https://www.runoob.com/jsref/met-cssstyle-setproperty.html
https://www.cnblogs.com/lxl0419/p/10142292.html


免責聲明!

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



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