框架的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属性。