HTML使用CSS樣式一共有如下三種方式:1.內(nèi)聯(lián)樣式- 在HTML元素中使用"style"屬性;2.內(nèi)部樣式表 -在HTML文檔頭部? 區(qū)域使用;3.外部引用 - 使用外部 CSS文件。一般而言,使用前兩種方式都很少有問(wèn)題,但在實(shí)際開發(fā)過(guò)程中,為了方便維護(hù),HTML一般都是外部導(dǎo)入CSS樣式的。因此,新手使用CSS樣式遇到的問(wèn)題一般是外部導(dǎo)入的CSS不起作用。
新手先檢查內(nèi)部樣式是否覆蓋外部鏈的樣式。
外部樣式導(dǎo)入路徑會(huì)用到:./ 當(dāng)前目錄,../ 父級(jí)目錄,/ 根目錄
在此次場(chǎng)景中,筆者在D盤的一個(gè)文件夾下創(chuàng)建了一個(gè)根目錄MyChat,然后在根目錄下創(chuàng)建兩個(gè)子目錄public,views分別存放css樣式文件和html文件。目錄結(jié)構(gòu)全貌如下:
以前端框架Bootstrap3為實(shí)例,地址:http://www.bootcss.com/
把bootstrap3的樣式拷貝到本地的css文件夾下,分別在根目錄和main文件夾下創(chuàng)建一個(gè)index.html文件,然后復(fù)制粘貼bootstrap官網(wǎng)的上html模板代碼
用瀏覽器打開根目錄的html文件看css樣式有沒(méi)有生效,效果如下:
再看這些模板的css是怎么通過(guò)外部導(dǎo)入使用的,如下
看得出外部的css有生效,接來(lái)下嘗試導(dǎo)入本地的css樣式。打開main文件夾的index.html文件,,粘貼復(fù)制html模板,修改link的路徑。修改如下:
用瀏覽器打開該html文件,如下:
css樣式?jīng)]有生效,出現(xiàn)報(bào)錯(cuò)了,看是什么原因?根據(jù)給出的信息,是css文件的路徑檢索出錯(cuò)了,html文件沒(méi)有引用到外部的css文件。現(xiàn)在對(duì)比報(bào)錯(cuò)的路徑和本地的路徑:
index.html文件在E:\nodejsstudy\MyChat\views目錄下
bootstrap.min.css文件在E:\nodejsstudy\MyChat\public目錄下
瀏覽器給出:file:///E:/nodejsstudy/MyChat/views/main/public/css/bootstrap.min.css
index.html文件代碼<head>? <link rel="strylesheet" type="text/css" href="public/css/bootstrap.min.css" > </head>
按照邏輯,html文件會(huì)引用E:\nodejsstudy\MyChat\public\css目錄文件下的bootstrap.min.css文件才對(duì),但現(xiàn)在看來(lái),css文件引用不到。然后繼續(xù)修改路徑href="../public/css/bootstrap.min.css",返回上一級(jí)目錄檢索,給出的報(bào)錯(cuò)信息:file:///E:/nodejsstudy/MyChat/views/public/css/bootstrap.min.css
繼續(xù)修改href="../../public/css/bootstrap.min.css",再返回上一級(jí)目錄檢索,引用到css文件了
總結(jié):在開始,當(dāng)main目錄下的html文件用路徑href="public/css/bootstrap.min.css"引用css文件時(shí),是在目錄MyChat/views/main目錄下檢索有沒(méi)有public/css/bootstrap.min.css的,但該目錄下沒(méi)有這個(gè)css文件。
然后修改路徑"public/css/bootstrap.min.css"->"../public/css/bootstrap.min.css",返回到MyChat/views目錄下檢索css文件,出現(xiàn)相同的錯(cuò)誤。
再次修改路徑"../public/css/bootstrap.min.css"->"../../public/css/bootstrap.min.css",返回到MyChat目錄檢索public/css/bootstrap.min.css,回顧一下目錄結(jié)構(gòu),可以檢索到css文件。
擴(kuò)展:如果把上面的MyChant文件放在服務(wù)器web根目錄,用"public/css/bootstrap.min.css",是可以直接引用css文件。