框架的最常見用途就是導航。一組框架通常包括一個含有導航條的框架和另一個要顯示主要內容頁面的框架。
但是,框架的設計可能比較復雜;並且在許多情況下,您可以創建沒有框架的 Web 頁,它可以達到使用一組框架所能達到的許多同樣效果。例如,如果您想讓導航條顯示在頁面的左側,則既可以用一組框架代替您的頁面,也可以只是在站點中的每一頁上包含該導航條;下圖顯示了具有類似框架布局的頁面設計,但在設計中並沒有使用框架。
許多專業 Web 設計人員不喜歡使用框架,並且許多浏覽 Web 的人也不喜歡框架。在大多數情況下,這種反感是因為遇到了那些使用框架效果不佳或不必要地使用框架的站點(例如,每當訪問者單擊導航按鈕時就重新加載導航框架內容的框架集)。如果框架使用得法(例如,在允許其他框架的內容發生更改的同時,使一個框架中的導航控件保持靜態),則這些框架對於某些站點可能非常有用。
並不是所有的浏覽器都提供良好的框架支持,框架對於無法導航的訪問者而言可能難以顯示。所以,如果您確實要使用框架,應始終在您的框架集中提供 noframes 部分,以方便不能查看這些框架的訪問者。您最好還要提供指向站點的無框架版本的顯式鏈接,以用於那些雖然其浏覽器支持框架但不喜歡使用框架的訪問者。
使用框架具有以下優點:
訪問者的浏覽器不需要為每個頁面重新加載與導航相關的圖形。
每個框架都具有自己的滾動條(如果內容太大,在窗口中顯示不下),因此訪問者可以獨立滾動這些框架。
例如,當框架中的內容頁面較長時,如果導航條位於不同的框架中,那麼向下滾動到頁面底部的訪問者就不需要再滾動回頂部來使用導航條。
使用框架具有以下缺點:
可能難以實現不同框架中各元素的精確圖形對齊。
對導航進行測試可能很耗時間。
各個帶有框架的頁面的 URL 不顯示在浏覽器中,因此訪問者可能難以將特定頁面設為書簽(除非您提供了服務器代碼,使訪問者可以加載特定頁面的帶框架版本。)