網頁設計技巧談:走出路徑的困惑

來源:互聯網
上載者:User
技巧|設計|網頁|網頁設計 如果您剛剛開始接觸網頁設計,是不是經常發生這樣的問題呢?做好的網頁在自己機器上可以正常瀏覽,而把頁面傳到伺服器上就總是出現看不到 圖片 , css 樣式表失效等錯誤。這種情況下多半是由於你使用了錯誤的路徑,在應該使用相對路徑的地方使用了 絕對路徑 ,導致瀏覽器無法在指定的位置開啟指定的檔案。 下面我們就來談一下最讓初學者頭疼的相對路徑與絕對路徑的區別問題。 什麼是 絕對路徑: 大家都知道,在我們平時使用電腦時要找到需要的檔案就必須知道檔案的位置,而表示檔案的位置的方式就是路徑,例如只要看到這個路徑:c:/website/img/photo.jpg我們就知道photo.jpg檔案是在c盤的website目錄下的img子目錄中。類似於這樣完整的描述檔案位置的路徑就是絕對路徑。我們不需要知道其他任何資訊就可以根據絕對路徑判斷出檔案的位置。而在網站中類似以photo.jpg來確定檔案位置的方式也是絕對路徑。 另外,在網站的應用中,通常我們使用"/"來表示根目錄,/img/photo.jpg就表示photo.jpg檔案在這個網站的根目錄上的img目錄裡。但是這樣使用對於初學者來說是具有風險性的,因為要知道這裡所指的根目錄並不是你的網站的根目錄,而是你的網站所在的伺服器的根目錄,因此 當網站的根目錄與伺服器根目錄不同時,就會發生錯誤 。 什麼是 相對路徑: 讓我們先來分析一下為什麼會發生圖片不能正常顯示的情況。舉一個例子,現在有一個頁面index.htm,在這個頁面中聯結有一張圖片photo.jpg。他們的絕對路徑如下:

c:/website/index.htm c:/website/img/photo.jpg

如果你使用絕對路徑c:/website/img/photo.jpg,那麼在自己的電腦上將一切正常,因為確實可以在指定的位置即c:/website/img/photo.jpg上找到photo.jpg檔案,但是當你將頁面上傳到網站的時候就很可能會出錯了,因為你的網站可能在伺服器的c盤,可能在d盤,也可能在aa目錄下,更可能在bb目錄下,總之沒有理由會有c:/website/img/photo.jpg這樣一個路徑。那麼,在index.htm檔案中要使用什麼樣的路徑來定位photo.jpg檔案呢?對,應該是用相對路徑,所謂相對路徑,顧名思義就是自己相對與目標位置。在上例中index.htm中聯結的photo.jpg可以使用img/photo.jpg來定位檔案,那麼不論將這些檔案放到哪裡,只要他們的相對關係沒有變,就不會出錯。 另外我們使用“../”來表示上一級目錄,“../../”表示上上級的目錄,以此類推。(學習過dos的朋友可能更容易理解) 再看幾個例子,注意所有例子中都是index.htm檔案中聯結有一張圖片photo.jpg。 例:

c:/website/web/index.htm c:/website/img/photo.jpg

在此例中index.htm中聯結的photo.jpg應該怎樣表示呢? 錯 誤寫法:img/photo.jpg 這種寫法是不正確的,在此例中,對於index.htm檔案來說img/photo.jpg所代表的絕對路徑是:c:/website/web/img/photo.jpg,顯然不符合要求。 正 確寫法:使用../img/photo.jpg的相對路徑來定位檔案 例:

c:/website/web/xz/index.htm c:/website/img/images/photo.jpg

在此例中index.htm中聯結的photo.jpg應該怎樣表示呢? 錯 誤寫法:../img/images/photo.jpg 這種寫法是不正確的,在此例中對於index.htm檔案來說../img/images/photo.jpg所代表的絕對路徑是:c:/website/web/img/images/photo.jpg。 正 確寫法:可以使用../../img/images/photo.jpg的相對路徑來定位檔案 例:

c:/website/web/xz/index.htm c:/website/web/img/photo.jpg

在此例中index.htm中聯結的photo.jpg應該怎樣表示呢? 錯 誤寫法:../../img/photo.jpg 這種寫法是不正確的,在此例中對於index.htm檔案來說../../img/photo.jpg所代表的絕對路徑是:c:/website/img/photo.jpg。 正 確寫法:可以使用../img/photo.jpg的相對路徑來定位檔案 總結: 通過以上的例子可以發現, 在把絕對路徑轉化為相對路徑的時候,兩個檔案絕對路徑中相同的部分都可以忽略,不做考慮。只要考慮他們不同之處就可以了。 如何 修改樣式表的路徑: 使用文字編輯器開啟htm檔案,查看原始碼,在原始碼的開頭部分......標記中間找到。“Href=”後面的內容就是css的路徑,我們可以根據以上的知識進行相對路徑的轉換。 例:

c:/website/web/xz/index.htm c:/website/css/test.css

在此例中index.htm中聯結test.css檔案,可以使用../../css/test.css的相對路徑來定位檔案,完整的代碼標記是:錯誤寫法舉例:../../../css/test.css 這種寫法是不正確的,在此例中對於index.htm檔案來說../../../css/test.css所代表的絕對路徑是:c:/css/test.css 最後,為了避免在 製作網頁 時出現路徑錯誤,我們可以使用 dreamweaver 的 網站管理功能 來管理網站。只要使用功能表命令site-new site建立網站並定義網站目錄之後,它將自動的把絕對路徑轉化為相對路徑,並且當你在網站中移動檔案的時候,與這些檔案關聯的串連路徑都會自動更改,實在是非常的方便。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.