2013-03-15 175 views
-1

應用在文件頭:新的CSS定義沒有得到從鏈接的樣式表

<link type="text/css" rel="stylesheet" href="css/resources/css/lessons-matching-test.css"/> 

在文檔

<div class="tests"> 
    <a href="" style="display: block;">Link</a> 
</div> 

的身體在鏈接CSS樣式表我添加了這個新風格

.tests 
{ 
    background-color: blue; 
    /* some stuff */ 
} 

爲什麼我的風格不適用於將class=tests添加到我的div中?

+1

您不必重新啓動系統,只需使用CTRL + F5 :) – HamZa 2013-03-15 23:29:31

+0

請將您的代碼放入jsfiddle.net – AliBZ 2013-03-15 23:29:34

+0

您是否嘗試過使用瀏覽器的開發人員工具來追蹤「div」獲取它的位置造型信息? (IE,火狐,鉻有這個,按F12打開它) – frozenkoi 2013-03-15 23:30:29

回答

2

當我創建一個新的HTML文件並插入代碼(沒有外部css和js文件)時,我得到了期望的結果。

<!DOCTYPE html> 
<html lang="en"><!-- Forgot the quotes --> 
<head> 
    <meta class="metatype" content="matching-test"> 
    <meta charset="UTF-8"> 
    <style type="text/css"> 
     .tests 
     { 
      background-color: blue; 
      /* some stuff */ 
     } 
    </style> 
</head> 
<body> 
    <div class="tests"> 
     <a href="" style="dispaly: block;">Link</a> 
    </div> 
</body> 
</html> 

當您排除js文件和/或css文件時會發生什麼?

1

兩起案件

  1. 您lessons.js做與.tests東西

    <script type="text/javascript" src="js/resources/js/libs/lessons.js"></script> 
    
  2. 你的CSS設置.tests爲重要,這樣你不能改變

    <link type="text/css" rel="stylesheet" href="css/resources/css/lessons-matching-test.css"/> 
    
1

問題是你由於緩存原有的風格正在被使用。您的新樣式不顯示,因爲瀏覽器正在使用舊樣式。有幾種方法可以解決或改變這一點。

避免這種情況的技術被稱爲「緩存清除」。當涉及服務器端處理程序時,可以用更高級的語言來處理。但是如果沒有訪問權限,那麼通常會使用版本名稱。

lessons-matching-test-v1.css 

每次進行更改時都會以這種方式命名您的css文件,這將允許使用和緩存新版本。以前的版本,你會增加數字,所以版本2將是經驗教訓匹配測試v2.css。

另一種方法是在每次製作新版本

href="css/resources/css/lessons-matching-test.css?v=1.0" 

,然後在每次製作新版本時時間查詢字符串附加到路徑,更改查詢字符串,所以第2版將href="css/resources/css/lessons-matching-test.css?v=2.0"