CSS樣式爲什麼不起作用?史上最全解決方法彙總

在我們寫頁面時,有時會發現自己寫的css樣式無法生效,導致這種現象的原因有很多,下面列舉一些常見的原因希望可以幫到你,歡迎評論區補充。

瀏覽器緩存問題

  • 如果你反覆檢查認爲代碼沒有問題,那麼可能是瀏覽器緩存的問題。在排查前先試一下清除瀏覽器緩存,重啓瀏覽器或者換個瀏覽器等手段,無效後再進行進一步排查。有可能自己什麼都沒有做錯,就是因爲緩存或者瀏覽器的問題導致,重置一下也許問題就解決了。
  • 瀏覽器的‘F12’元素審覈,看看哪些樣式沒有應用上。
    在這裏插入圖片描述

細節問題

  • 寫錯屬性名致使無法與html匹配,或屬性值不符合規範;

  • html標籤沒寫完整,漏了“<”或者”>”等;

  • ,;{}看看這些符號是不是不小心使用了中文或者全角符號;

  • <span>設CSS樣式不起作用:例如:要定義span居中,必須先讓span成塊級元素顯示,也就是說,要先定義span的display:block;屬性,然後再給span添加邊距屬性margin:0px auto;

  • css樣式中間沒有加分號;
    爲什麼css樣式裏有時候使用分號隔開有時候是用空格呢?
    同一個屬性進行設置時是用空格隔開,比如border:1px solid red; 對不同的屬性進行設置時是用分號隔開,比如width:300px;height:300px;

樣式表關聯問題

  • 如果你的樣式完全不生效,首先確認關聯了樣式表沒有,或者關聯的樣式位置、名字是否正確;
    <link rel="stylesheet" type="text/css" href="mycss.css"/>
  • 看看自定義的CSS樣式引入標籤是否放在bootstrap框架樣式引用之後,確保不會被在加載頁面時被框架的樣式覆蓋。
<link rel="stylesheet" type="text/css" href="css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="mycss.css"/>

選擇器問題

  • 後代子代選擇等,涉及多個標籤,類名、id等,子選擇器的順序、名字等寫錯了,均可能導致出錯;
  • html裏的標籤忘記寫類名、id了,而選擇器用了這些漏寫的類名、id等,樣式自然不會生效。
  • 後代選擇器忘了寫空格;
  • 看看是不是有多餘的空格比如: div.box{} 這類選擇器會不會寫成了 div .box{}

編碼格式問題

  • 把CSS、HTML網頁文件都統一保存爲UTF-8格式;即在頭標籤中添加<meta charset="UTF-8">
    因爲 一般網頁裏採用UTF-8的編碼格式,而外部的CSS文件默認的是ANSI的編碼格式,一般情況下是不會有問題。然而當CSS文件中包含中文註釋,就可能會出現問題。

樣式層疊問題

  • 看看你的css優先級是否出現問題,優先級高的會把低的覆蓋掉導致無法看到樣式;
  • 本身設置了樣式,則從父級繼承來的樣式就不生效了;
  • css樣式優先級排序:!important > 行內樣式>ID選擇器 > 類選擇器 > 標籤 > 通配符 > 繼承 > 瀏覽器默認屬性(同優先級時,後面的層疊前面的樣式);

排查順序:
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章