場景:
這幾天做前端,遇到了一個奇怪的問題
一開始,這個分頁的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