OperaMasks 2.3.1及之前的版本中layout构件的width和height必须设置固定像素值,这样开发的页面在不同的分辨率浏览器下浏览器往往很难看。当然可以在style属性中设置百分比的width或height,如style="width:40%;height:100%",但是当改变窗口大小时这个构件的大小也不会改变(即它只能在第一次显示时按百分比计算高度和宽度)。
OperaMasks 3.0版本中对大部分layout构件的width和height属性设置支持百分比,而且在改变窗口大小时它会自动适应窗口的改变,保持固定的百分比。
<w:page title="Insert title here"> <layout:panel title="p1" width="200" height="200" >宽度200 X 高度200</layout:panel> <layout:panel title="p3" width="15%" height="200" >宽度10% X 高度200</layout:panel> <layout:panel title="p4" width="15%" height="10%" >宽度10% X 高度10%</layout:panel> <layout:panel title="p2" width="200" height="10%" >宽度200 X 高度10%</layout:panel> </w:page>
这个代码中定义了4个layout:panel,其中第一个panel是传统方式,设置的是固定值,后面3个panel的宽度或高度设置了百分比形式。运行后效果如下:

将窗口的大小缩小一点,效果会变成这样:

目前只有layout:absoluteLayout、layout:accordionLayout、layout:borderLayout、layout:cardLayout、layout:columnLayout、layout:gridLayout、layout:tabLayout、layout:tableLayout、layout:panel、layout:window这几个构件支持高度和宽度设置百分比,layout:panelGrid、layout:cell暂不支持。