前端css樣式被污染的解決


場景:

  這幾天做前端,遇到了一個奇怪的問題

 

 

 

  一開始,這個分頁的footer顯示是正常的,但是在我切換到其他頁面,再回來時,這里顯示就出現問題了,如下:

 

 

   然后看了半天代碼,也不知道是什么原因。問師兄,說是css樣式的污染問題,可能是點擊到其他頁面時,有同名的class,導致回到該頁面,還是用的另一個class的樣式。

解決:

  對比了操作前后的Html部分的變化:

  正常情況下:

 

 

   被污染后:

 

 

   這個subject body類是顯示表格的,可以看到被污染后,這個class多了一個data-v-6f30745d,這個表示一個樣式。

  比如一個父節點有個class樣式,那么它生產html后就有一個對應的data-v-數字,比如data-v-1,然后該父節點下的子節點也會有這個樣式標簽,也會有data-v-1。

  這里說明這個樣式被污染了,但是想找到是哪個樣式污染的這個,就比較困難了(我暫時沒有方法)。

  最后,我發現被污染后,這個頁面上面的一個搜索欄樣式變了,如下:

 

 

   污染后:

 

 

 

   因此,我對這個頁面的搜索欄重新寫了樣式,使用“!important” 和 style scoped來使這個頁面的樣式不被影響且不會對其他頁面影響。

  最后,問題解決。

參考:

https://www.cnblogs.com/kunmomo/p/13573124.html

https://blog.csdn.net/m0_37508531/article/details/95793242

https://baijiahao.baidu.com/s?id=1662849176913899179&wfr=spider&for=pc


免責聲明!

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



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