有时开发人员会遇见在 CSS 中把 Spread 的 height 属性设置成 100% 而控件却不能充满整个浏览器窗体。发生这种情况的原因之一是 W3C 规定计算百分比高度的依据是父容器的高度,而不是浏览器。所有的浏览器都不计算高度,除非内容超出视图区而需要滚动条时。例如,如果父容器的 height 属性设置成 auto 而子控件的 height 属性设置成 100%,这样的设置会迷惑浏览器,你会在不同的浏览器中发现不同的结果。

但是,如果把父容器和子控件的 height 属性都设置成 100% ,控件就会充满整个浏览器的窗体。

下面的例子展示怎样使 Spread 充满整个浏览器窗体,代码如下:

 
<form id="form1" runat="server" style="height:100%">

<div style="height:100%; border: solid 1px red">

<FarPoint:FpSpread ID="FpSpread1" runat="server" Height="100%" Width=“100%”>

复制代码

在仔细观察上面的 HTML 代码之后,你会发现 height:100% 在四个标签中被设置,分别是 body、form、div 和 Spread。

相对于 Height 属性来说,我们会出现为什么 Width:100% 在容器中不需要设置呢?原因是浏览器计算 Width 的方法和 计算 Height 的方法完全不同,如果我们对 Width 值不进行任何设置,控件的宽度也会自动充满整个浏览器。