溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在css中使用外部樣式表

發(fā)布時(shí)間:2021-03-30 15:54:57 來源:億速云 閱讀:280 作者:Leah 欄目:web開發(fā)

這篇文章給大家介紹怎么在css中使用外部樣式表,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

  1. <link rel="stylesheet" href="style.css" />    

就這么簡單,還有什么,so easy,我之前都是這么認(rèn)為的你肯定比我聰明多了~_^,但是當(dāng)做一個(gè)頁面在微信上瀏覽并且修改再瀏覽的時(shí)候我發(fā)現(xiàn)不對勁,因?yàn)橐呀?jīng)上傳的樣式表木有改變,IOS還好,可以強(qiáng)制刷新頁面。但是安卓端這塊一直在用微信的緩存,還沒有刷新的按鈕,所以覺得css引入問題目測應(yīng)該沒有這么簡單。

好了,下面都是一些自己的純扯蛋瞎扯,歡迎前輩多拍磚。
關(guān)于路徑

在還沒有說之前先說下關(guān)于css引入的2種方式:

相對路徑(Relative Path),顧名思義:就是css文件相對某一個(gè)參照物的位置。上物理課的時(shí)候老師都會提到相對運(yùn)動:指某一個(gè)物體對另外一個(gè)物體的相對于一個(gè)固定參照物來是相對運(yùn)動的。我們走路看汽車的時(shí)候覺得汽車往后走,汽車看我們的時(shí)候是往前走,那么相對路徑也是醬樣子的,網(wǎng)頁所處目錄就是我們的參照物。像剛剛上面這段css代碼的引入就是一個(gè)相對路徑地址,test是網(wǎng)站的目錄,style.css文件跟這個(gè)網(wǎng)頁文件是同處一個(gè)目錄層級,如圖:
怎么在css中使用外部樣式表

那么在網(wǎng)頁文件index.html引入css應(yīng)該是

CSS Code復(fù)制內(nèi)容到剪貼板

  1. <link rel="stylesheet" href="style.css" />  

假如說css文件放在跟index.html同級目錄,名為css文件夾里面,類似這樣:
怎么在css中使用外部樣式表

假如css放跟目錄也就是test這里
怎么在css中使用外部樣式表

“/”斜杠符號在這里表示的就是根目錄,也就是這些網(wǎng)頁文件之間聯(lián)系的參照物。

絕對路徑(Absolute Path),既然是絕對的,那就說明這個(gè)地址是唯一性,獨(dú)立性。相對本地來說,剛剛的站點(diǎn)test的絕對地址為F:\test,相對服務(wù)器來說,就應(yīng)該是127.0.0.1/test類似這樣的IP地址。
關(guān)于路徑引入

要相對路徑還是絕對路徑引入css文件,個(gè)人認(rèn)為本地預(yù)覽的時(shí)候可以選擇相對路徑,項(xiàng)目上線的時(shí)候改成絕對路徑來引入,為什么?有以下幾點(diǎn):

1. 減少索引,絕對地址的唯一性可以確保用戶在輸入網(wǎng)頁的時(shí)候,瀏覽器直接去索引到那個(gè)IP地址,直接一刀致命,沒有拖沓。而相對路徑就要一步步索引目錄,這就好比在路上遇見一個(gè)心儀的妹紙,我們害羞不敢當(dāng)面去談話,于是我們制造了無數(shù)的偶遇之后才有膽子上去問聯(lián)系方式,到最后才發(fā)現(xiàn)妹紙?jiān)缑ㄓ兄?,早知如此,何必?dāng)初呢~

2. 增加外鏈,對于做SEO的人來說,我們都知道外鏈能帶來不錯的權(quán)重提高,就算是別人來抓我們的內(nèi)容,假如它沒有改成自己的服務(wù)器地址,那說明這個(gè)網(wǎng)站的引用地址還是我們的網(wǎng)址,爬蟲會通過這個(gè)圖片引用地址反爬回去,但相對路徑引用,因?yàn)榈刂钒l(fā)生變更,因此爬蟲爬回去之后找不到相應(yīng)的文件,因此爬蟲的工作也即將停止。

3. 提高排名,假如是你一個(gè)干前端的,那么多少都會遇到某一個(gè)自己喜歡的動畫效果,HTML搞下來了,但是不想要直接把css也下下來,因此會在本地直接調(diào)用網(wǎng)絡(luò)地址。當(dāng)你預(yù)覽這個(gè)頁面的時(shí)候不小心點(diǎn)到了引入地址,會跳轉(zhuǎn)到相應(yīng)的網(wǎng)站css,即使你沒有訪問其主頁,但是你還是訪問了他的域名,無意之中還是增加了其訪問量。

當(dāng)然了,第三點(diǎn)是我自己YY出來的,至于是不是我們無從考究,希望有過研究的可以分享一下你們的見解咯。
絕對路徑幾種表現(xiàn)

一般式

剛剛我們提到了相對來說不管是引用圖片還是引用css文件,路徑最好是絕對路徑,所以上面的style.css文件的引入地址應(yīng)該是

CSS Code復(fù)制內(nèi)容到剪貼板

  1. <link rel="stylesheet" href="http://xxx.com/test/css/style.css" />  

這樣的引入似乎是正確了的,各種對SEO來說也達(dá)到的滿意程度,但是某寶的做法是這么做

某寶式
怎么在css中使用外部樣式表

淘寶的css還有js的引入是通過他們的CDN分布式形式,而且后面都帶有?t=20150105,這跟我們的做法不太一致,后面的20150105應(yīng)該是這個(gè)時(shí)間更新的,為了方便記住版本信息,但是為什么帶“?”問號。于是有Google一番,各路大神對此的解釋可以解答我心中的疑惑:

        標(biāo)注版本號。
        方便查看最近修改情況??梢允侨掌凇!具@是淘寶一樣】

        用隨機(jī)數(shù)防止緩存。
        如果更改css,為了避免瀏覽器緩存,不會及時(shí)更新導(dǎo)致頁面沒有出現(xiàn)相應(yīng)效果,在使用時(shí)帶上一個(gè)動態(tài)參數(shù),讓瀏覽器重新下載這個(gè)css文件。

那就好理解了,帶“?”只是為了讓瀏覽器把舊版本的css給over掉,重下新的css版本號。這個(gè)也好解釋了為什么微信瀏覽已經(jīng)修改過的css文件,但是樣式還沒有調(diào)試過來,因?yàn)槲⑿耪{(diào)用的還是老版本的css文件,因此假如各位csser們想要第一時(shí)間能預(yù)覽到最新修改的樣式,那么引入的路徑最好是”?=xxx”類似這樣的版本號,以便讓瀏覽器重下我們已經(jīng)修改過的css文件。

Facebook式

假如你能翻墻,能上Facebook,那么不妨看看Facebook的css引入又跟我們國內(nèi)的不太一樣,如圖:
怎么在css中使用外部樣式表

這么一大堆的大小寫英文字母是干嘛的,為什么又跟我們國內(nèi)的不太一樣,問了一下同事,他說是類似哈希加密文件,于是百科一了一下哈希算法,大概解釋如下:

    舊譯哈希(誤以為是人名而采用了音譯)。它也常用作一種資訊安全的實(shí)作方法,由一串資料中經(jīng)過散列算法(Hashing algorithms)計(jì)算出來的資料指紋(data fingerprint),經(jīng)常用來識別檔案與資料是否有被竄改,以保證檔案與資料確實(shí)是由原創(chuàng)者所提供。

最后一句話解釋很好,就是經(jīng)常被用來識別是否被篡改。假如說本地和網(wǎng)絡(luò)上的這個(gè)css文件被篡改了,那么它會通知瀏覽器重下這個(gè)已經(jīng)被修改css文件,然后清掉之前的css緩存。好了,說到緩存的問題,發(fā)現(xiàn)某寶的緩存還是蠻贊的。

某寶的css刷新前后對比
怎么在css中使用外部樣式表

關(guān)于怎么在css中使用外部樣式表就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI