做網(wǎng)站中的url

  • 2018-09-06 07:10:28
  • 閱讀次數(shù):
  • 作者:盈嵐科技小編
  • 來源:http://51zuanshi.com.cn

如果你是做網(wǎng)站的,肯定對URL (或者在CSS2.1中稱為URI)很熟悉。如果需要引用一個(gè)URL (如@import語句中,導(dǎo)入外部樣式表時(shí)就會(huì)使用這條語句),一般格式則為:

url(protocol://server/pathname)

這個(gè)例子定義了一個(gè)所謂的絕對URL (absolute URL)。這里的絕對是指,不論這個(gè)URL 放在哪里(或者放在哪個(gè)頁面上),它都能正常工作,因?yàn)樗x了網(wǎng)站空間中的一個(gè)絕對位置。假設(shè)你有一個(gè)名為www.waffle.org的網(wǎng)站服務(wù)器。該服務(wù)器上有一個(gè)名為pix 的目錄,在這個(gè)目錄中有一個(gè)圖像waffle22.gif。這種情況下,該圖像的絕對URL將是:

/UploadFiles/2018-09-06/2018964941301724.gif

不管這個(gè)URL放在哪里,它都是合法的,而不論包含這個(gè)URL的頁面在服務(wù)器51zuanshi.com.cn 上還是在web.pancakes.com 上。

另一種URL是相對URL (relative URL),之所以得名是因?yàn)樗付ǖ氖且粋€(gè)相對于該URL所在文檔的位置。如果指向一個(gè)相對位置,如Web頁面所在目錄中的一個(gè)文件,則一般格式為:

url(pathname)

如果圖像與包含該URL的頁面在同一個(gè)服務(wù)器上,這就能正常工作。為了說明這一點(diǎn),假設(shè)有一個(gè)位于/index.asp的頁面,而且希望這個(gè)貝面上出現(xiàn)圖像waffle22.gif。在這種情況下,URL將是:

pix/waffle22.gif

這個(gè)路徑是合法的,因?yàn)閃eb瀏覽器知道它要從Web文檔所在位置開始,然后加上這個(gè)相對URL來找到圖像。在這里,路徑名pix/waffle22.gif要增加到服務(wù)器名http://51zuanshi.com.cn,得到了/pix/waffle22.gif。使用相對URL 的地方幾乎總能用一個(gè)絕對URL取而代之,使用哪一種URL并不重要,只要它能定義一個(gè)合法的位置。

在CSS中,相對URL要相對于樣式表本身,而不是相對于使用該樣式表的HTML文檔。例如,可能有一個(gè)外部樣式表,其中導(dǎo)入了另一個(gè)樣式表。如果使用相對URL來導(dǎo)入第二個(gè)樣式表,它必須相對于第一個(gè)樣式表。舉例來說,來考慮一個(gè)位于waffles.org/toppings/tips.html 的 HTML 文檔,它包含一個(gè)指向樣式表waffles.org/styles/basic.css 的鏈接:

<link rel="stylesheet" type="text/css"

href="/styles/basic.css">

在文件basic.css中有一個(gè)@import:語句指向另一個(gè)樣式表:

@import url(special/toppings.css};

這個(gè)@import會(huì)導(dǎo)致瀏覽器查找位于http://www.waffles.org/styles/special/toppings.css的樣式表,而不是在/toppings/special/toppings.css 查找樣式表。如果在后面這個(gè)位置上有一個(gè)樣式表,那么basic.css中的@import應(yīng)當(dāng)讀作:

@import url{/toppings/special/toppings.css};

警告:Netscape Navigator 4會(huì)相對于HTML文檔而不是相對于樣式表解釋相對URL。如果有很多NN4.X用戶訪問你的網(wǎng)頁,或者如果你想確保NN4.X能找到你的所有樣式表和背景圖像,通常最容易的做法是讓所有URL都是絕對URL,因?yàn)镹avigator可以正確地處理絕對URL。

注意,url和開始括號(hào)之間不能有空格:

body {background: url(http://www.pix.web/picturel.jpg);}/* correct */

body {background: url (images/picture2.jpg);}  /* INCORRECT */

如果存在空格,整個(gè)聲明都將無效,以至于被忽略。

關(guān)鍵字

有時(shí)一個(gè)值需要用某個(gè)詞來描述,這種詞就稱為關(guān)鍵字。對此一個(gè)很常見的例子就是關(guān)鍵字none,它不同于0(零)。因此,要去除一個(gè)HTML文檔中鏈接的下劃線,應(yīng)寫作:

a:link, a:visited {text-decoration: none;}

類似地,如果想對鏈接加下劃線,則要使用關(guān)鍵字underline。

如果一個(gè)屬性接受關(guān)鍵字,那么其關(guān)鍵字將只針對該屬性的作用域定義。如果兩個(gè)屬性都使用同一個(gè)詞作為關(guān)鍵字,一個(gè)屬性的關(guān)鍵字與另一個(gè)屬性的同一關(guān)鍵字可能就有不同的行為。舉例來說,為letter-spacing定義的normal與為font-style定義的normal含義就大不相同。

inherit

CSS2.1中有一個(gè)關(guān)鍵字是所有屬性共有的,這就是inherit。inherit使一個(gè)屬性的值與其父元素的值相同。在大多數(shù)情況下,不必指定繼承,因?yàn)榇蠖鄶?shù)屬性本身會(huì)自然地繼承,不過,inherit還是很有用的。

例如,考慮以下樣式和標(biāo)記:

#toolbar {background: blue; color: white;}

<div id="toolbar">

<a href="one.html">One</a>|<a href="two.html">Two</a>|<a href ="three.html">Three</a>

</div>

div本身將有一個(gè)藍(lán)色背景和一個(gè)白色前景色,但是鏈接還是會(huì)根據(jù)瀏覽器的首選頂設(shè)置來應(yīng)用樣式。最后往往會(huì)是藍(lán)色背景上的藍(lán)色文本,之間有白色的豎線將其分隔。

可以編寫一個(gè)規(guī)則,明確地將“工具條”中的鏈接設(shè)置為白色,不過通過使用inherit 可以更健壯地做到這一點(diǎn)。只需向樣式表增加以下規(guī)則:

#toolbar a {color: inherit;}

這會(huì)讓鏈接使用繼承的color值而不是用戶代理的默認(rèn)樣式。正常情況下,直接指定的樣式總會(huì)優(yōu)先于繼承的樣式,但是通過使用inherit可以把情況反過來。

CSS2單位

除了已經(jīng)介紹的CSS2.1中的單位,CSS2還包含另外幾個(gè)單位,所有這些單位都與聲音樣式表有關(guān)(支持語音的瀏覽器會(huì)使用這種樣式表)。這些單位并沒有包含在CSS2.1中,但是由于它們可能是CSS將來版本的一部分,在此做一個(gè)簡單的討論。

角度值

用于定義給定的聲音從哪個(gè)位置發(fā)出。共有3種角度:度(deg)、梯度(grad)和弧度(rad)。例如,直角可以聲明為90deg、100grad或1.57rad;不論如何聲明,這些值都會(huì)解釋為0~360度范圍內(nèi)的度數(shù)。負(fù)數(shù)值也是如此(允許是負(fù)數(shù)),-90deg 等同于270deg。

時(shí)間值

用于指定語音元素之間的延遲。可以表示為毫秒(ms),也可以表示為秒(s)。因此,100ms和0. 1s是相同的。時(shí)間值不能是負(fù)值,因?yàn)镃SS的設(shè)計(jì)要求避免這種不可能的情況。

頻率值

用于為語音瀏覽器可以產(chǎn)生的聲音聲明一個(gè)給定頻率。頻率值可以表示為赫茲(Hz)或兆赫(MHz),而且不能是負(fù)值。值后面跟的標(biāo)簽(Hz或MHz)不區(qū)分大小寫,因此10MHz和1OMhz是一樣的。

在寫這本書時(shí),已經(jīng)知道的支持所有這些值的唯一一個(gè)用戶代理是Emacspeak,這是一個(gè)聲音樣式表實(shí)現(xiàn)。有關(guān)聲音樣式的更多詳細(xì)信息見第14章。

除了這些值以外,還有一個(gè)“老朋友”,不過它有了一個(gè)新名字,這就是URI (Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符),這是統(tǒng)一資源定位符(Uniform Resource Locator, URL)的另一個(gè)名字。CSS2和CSS2.1規(guī)范都要求URI要以u(píng)rl (...)形式聲明,因此實(shí)際上沒有什么改變。

小結(jié)

單位和值的覆蓋面很廣,從長度單位到描述效果(如underline)的特殊關(guān)鍵字,再到顏色單位,還包括文件(如圖像)的位置。大多數(shù)情況下,在單位方面,用戶代理幾乎能做到完全正確,不過也存在少量bug和奇怪問題會(huì)來煩你。例如,Navigator 4.x不能正確地解釋相對URL,這被許多創(chuàng)作人員過分夸大,以至于過分地依賴于絕對URL。用戶代理在顏色領(lǐng)域也幾乎完全勝任,但同樣不乏一些小問題。不過,由于存在太多不同的長度單位,盡管這絕對不是bug,但實(shí)際上這才是所有創(chuàng)作人員需要解決的一個(gè)有意思的問題。

這些單位都各有優(yōu)缺點(diǎn),這取決于它們在什么情況下使用。我們已經(jīng)了解了這樣的一些環(huán)境,本書余下的內(nèi)容將重點(diǎn)討論這些場合,首先從CSS屬性開始,CSS屬性描述了如何改變文本的顯示方式。


當(dāng)前文章標(biāo)題:做網(wǎng)站中的url

當(dāng)前URL:http://51zuanshi.com.cn/news/wzzz/web-page-url.html

上一篇:網(wǎng)頁設(shè)計(jì)中的長度單位

下一篇:字體在網(wǎng)頁設(shè)計(jì)中的運(yùn)用

網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷咨詢專線:181-8386-5875(點(diǎn)擊可一鍵撥號(hào))