作用和用法
<frameset> 標籤有一個必需的屬性:要么是 rows,要么是 cols,這取決於您的選擇,它們定義了文檔視窗中框架或嵌套的框架集的行或列的大小及數目。
這兩個屬性都接受用引號括起來並用逗號分開的值列表,這些數值指定了框架的絕對(像素點)或相對(百分比或其餘空間)寬度(對列而言),或者絕對或相對高度(對行而言)。這些屬性值的數目決定了瀏覽器將會在文檔視窗中顯示多少行或列的框架。
與表格一樣,瀏覽器在顯示時會儘可能接近給定的框架集尺寸。但是,瀏覽器不會為了能夠容納下超出邊沿的框架集而擴展文檔視窗的邊界,也不會在指定的框架沒有填滿整個視窗時用空白區域來填滿視窗。相反,瀏覽器會根據一個框架在行和列中相對於其他框架的大小來分配空間,這樣就能夠填滿整個文檔視窗了。(注意到一個主框架文檔中沒有滾動條了嗎?)
屬性值
在HTML中,cols 屬性具有如下的屬性值:
值 | 描述 |
pixels | 規定列尺寸,以像素計(比如 "100px" 或者只是 "100")。 |
% | 規定列尺寸,以可用空間的百分比計(比如 "50%")。 |
* | 可用空間的剩餘部分將會分配給該列。 |
例子
例子 1
下面的代碼將創建 3 行框架:
<frameset rows="150,300,150">其中的每行都貫穿整個文檔視窗。第一和最後一個框架被設為 150 像素高,第二行設定成 300 像素高。
實際上,除非瀏覽器視窗正好是 600 像素高,否則瀏覽器將會自動按照比例延伸或壓縮第一和最後一個框架,使得這兩個框架都占據 1/4 的視窗空間。中間行將會占據剩下 1/2 的視窗空間。
例子 2
用視窗尺寸的百分比表示的框架行和列尺寸數據更加實際。
例如,下面這個示例與剛才那個示例的效果相同:
<frameset rows="25%,50%,25%">當然,如果這些百分比加起來不是 100%,瀏覽器也會自動按照比例重新給出每行尺寸以消除差異。
例子 3
如果你像我們一樣,那么將問題綜合起來就不是一件難事。可能有的框架設計人員正為同樣的困難而感到苦惱,這就解釋了為什麼他們要在 <frameset> 的 rows 和 cols 值上加上星號。它告訴瀏覽器要在將相鄰的框架放入框架集之後,給剩下的空間分配各自的行或列。
例如,當瀏覽器遇到下列框架標籤時:
<frameset cols="100, *">上面的例子會生成一個寬為固定的 100 像素的列,然後再生成另一個框架列,該列會占據框架集中其餘所有的空間。
例子 4
您還可以對多個列或行屬性值使用星號。在這樣的情況下,相應的行或列將對可用空間進行等分,例如:
<frameset rows="*, 100, *">這條語句在框架集的中間生成一個 100 像素高的行,並在這行的上邊和下邊各生成一個相同尺寸的行。
例子 5
如果在星號前放置一個整數值,相應的行或列就會相對地獲得更多的可用空間。例如:
<frameset cols="10%, 3*, *, *">它生成了 4 列:第一列占據整個框架集寬度的 10%。然後瀏覽器把其他空間的 3/5 分配給第二個框架,第三個和第四個框架各分配其餘空間的 1/5。
從上面的例子可以發現,使用星號(尤其是用數值作為前綴),可以很容易地在一個框架集中分割剩下的空間。