框架的rows和cots屬性
作者:佚名 時間:2014-04-22 分享到:

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