■ 架構標記
<FRAMESET> <FRAME>
<NOFRAMES>
<IFRAME>
欲明白本篇【HTML徹底剖析】之標記分類,請看 【標記一覽】。
也請先明白圍堵標記與空標記的分別,請看 【HTML概念】。
■ 架構概念 :
謂架構便是網頁畫面分成幾個框窗,同時取得多個 URL。只需要 <FRAMESET> <FRAME> 即可,面所有架構標記需要放在一個總起的 html 檔,這個檔案只記錄了該架構如何分割 ,不會顯示任何資料,所以不必放入 <BODY> 標記,瀏覽這架構必須讀取這檔案 面不是其他框窗的檔案。<FRAMESET> 是用來劃分框窗,每一窗框由一個 <FRAME> 標 記所標示,<FRAME>必須在 <FRAMESET> 範圍中使用。如下例:
<frameset cols=50%,*> <frame name=hello src=up2u.html> <frame name=hi src=me2.html>
</frameset>
此例中 <FRAMESET> 把畫面分成左右兩相等部分,左便是顯示 up2u.html,右邊則會顯示 me2.html 這檔案,<FRAME> 標記所標示的框窗永遠是按由上而下、由左至右的次序。
| ■ <FRAMESET> <FRAME> : |
▲Top |
以上所述只是最簡單的架構設定,若希望達到更合適的效果請加入或修改以下各參數。
標記:<FRAMESET>
例子:<frameset rows=90,* frameborder=0 border=0 framespacing=2 border=2 bordercolor=#008000></frameset>
功用:宣告HTML檔案為架構模式,並設定視窗如何分割。
參數:
- COLS=90,*
垂直切割畫面(如分左右兩個畫面),接受整數值、百分數, * 則代表佔用剩餘的空間。數值的個數代表分成的視窗數目且以逗號分隔。例如 COLS=30,*,50% 可以切成三個視窗,第一個視窗是 30 pixels 的寬度,為一絕對分割,第二個視窗是當分配完第一及第三個視窗後剩下的空間,第三個視窗則占整個視窗畫面的 50% 寬度為一相對分割。你可自己調整數字。
- ROWS=120,*
這是橫向切割,將畫面上下分開,數值設定同上。 COLS 與 ROWS 兩參數盡量不要放在同一個 <FRAMESET> 標記中,因 Netacape 偶然不能顯示這類型的架構,盡量採用多重分割,如以上各例。
- frameborder=0
設定架構的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要顯示邊框。
- border=0
設定架構的邊框厚度,以 pixels 為單位。
- bordercolor=#008000
設定架構的邊框顏色。顏色值請參考【調色原理】。
- framespacing=5
表示架構與架構間保留的空白的距離。
標記:<FRAME>
例子:<frame name=top src=a.html marginwidth=5 marginheight=5 scrolling=Auto frameborder=0 noresize framespacing=6 bordercolor=#0000FF>
功能:設定每一個框窗內的參數屬性。
參數:
- SRC=a.html
設定此框窗中要顯示的網頁設定檔名稱,每個框窗一定要對應一個網頁檔案。
- NAME=top
設定這個框窗的名稱,這樣才能指定架構來作連結,必須但任意命名。
- frameborder=0
設定架構的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要邊框。
- framespacing=6
表示架構與架構間的保留的空白的距離。
- bordercolor=#008000
設定架構的邊框顏色。
- scrolling=Auto
設定是否要顯示捲軸,YES 表示要顯示捲軸,NO 表示無論如何都不要顯示捲軸,AUTO 視情況而定。
- noresize
設定不讓使用者可以改變這個框框的大小,如沒有設定此參數,使用者可隨意地拉動架構改變其大小。
- marginhight=5
表示架構高度部分邊緣所保留的空間。
- marginwidth=5
表示架構寬度部分邊緣所保留的空間。
以下是一些例子:
| 例子 |
HTML Code |
|
|
<frameset rows=80,*>
-
<frame name=top src=a.html>
-
<frame name=bottom src=b.html>
</frameset>
|
| 例子 |
HTML Code |
|
|
<frameset rows=80,*,80>
-
<frame name=top src=a.html>
-
<frame name=middle src=b.html>
-
<frame name=bottom src=c.html>
</frameset>
|
| 例子 |
HTML Code |
|
|
<frameset cols=150,*> <frameset rows=80,*>
-
<frame name=upper_left src=a.html>
-
<frame name=lower_left src=b.html>
</frameset>
-
<frame name=right src=c.html>
</frameset>
|
| 例子 |
HTML Code |
|
|
<frameset rows=80,*>
-
<frame name=top src=a.html>
<frameset cols=150,*>
-
<frame name=lower_left src=b.html>
-
<frame name=lower_right src=c.html>
</frameset>
</frameset>
|
| 例子 |
HTML Code |
|
|
<frameset cols=150,*>
-
<frame name=left src=a.html>
<frameset rows=80,*>
-
<frame name=upper_right src=b.html>
-
<frame name=lower_right src=c.html>
</frameset>
</frameset>
|
當別人使用的瀏覽器太舊,不支援架構功能時,他看到的將是一片空白。為了避免這種情況,可使用 <NOFRAMES> 這個標記,當使用者的瀏覽器看不到架構時,他就會看到 <NOFRAMES> 與 </NOFRAMES> 之間的內容,而不是一片空白。這些內容可以是提醒瀏覽者採用新的瀏覽器的字句,也可以是一個沒有架構的網頁或切換到沒有架構的版本的連結都可。
應用方法:
在<frameset> 標記範圍加入 </NOFRAMES> 標記,以下是例子:
-
<frameset rows=80,*>
-
<noframes>
<body>
很抱謙,您使用的瀏覽器不支援架構功能,請採用新版本的瀏覽器。
</body>
</noframes>
-
<frame name=top src=a.html>
-
<frame name=bottom src=b.html>
-
</frameset>
若瀏覽器支援架構,那麼它不會理會 <noframes> 中的內容,但若瀏覽器不支援架構,由於不認識所有架構標記,不明的標記被略過,標記包圍的內容便被解讀出來,所以在 <noframes>範圍內的文字被顯示。
這標記只適用於 IE。 它的作用是在一頁中間插入一個框窗以顯示另一個檔案。它是一個圍堵標記,但圍堵著的字句只有在瀏覽器不支援 iframe 標記時才顯示,如<noframes> 一樣,可以放一些提醒的字句之類。通常 iframe 配合一個辯認瀏覽器的的 Java Script 會更好,若於 JavaScript 認出該瀏覽器並非 Internet Explorer 便會切換到另一個版本。
<iframe> 的參數如下:
例子: <iframe src=iframe.html name=test align=MIDDLE width=300 height=100 marginwidth=1 marginheight=1 frameborder=1 scrolling=Yes>
- src=iframe.html
欲顯示於此框窗的檔案來源除設定檔名稱,必要加上相對或絕對路徑。
- name=test
此框窗名稱,這是連結標記的 target 參數所需要的,
- align=MIDDLE
可選值為 left, right, top, middle, bottom,作用不大
- width=300 height=100
框窗的寬及長,以 pixels 為單位。
- marginwidth=1 marginheight=1
該插入的檔案與框邊所保留的空間。
- frameborder=1
使用 1 表示顯示邊框, 0 則不顯示。(可以是 yes 或 no)
- scrolling=Yes
使用 Yes 表示允許捲動(內定), No 則不許。
例子:
| 原代碼 |
<center> <iframe src=iframe.html name=test align=MIDDLE width=300 height=100 marginwidth=5 marginheight=5 frameborder=1> 很抱謙,您的瀏覽器並不支援 IFrame,不能正常瀏覽我的網頁。</iframe> </center> |
| 顯示結果 |
|