页面高度的取值与ifarme高度的自适应

在网页中使用ifarme是下下策之选,使用ifarme后需要做很多页面自适应的处理,所以能不用尽量不用。

首选需要了解js中几个属性的区别:

 

关于获取各种浏览器可见窗口大小

document.body.clientWidth

document.body.clientHeight即可获得,很简单,很方便。

而在公司项目当中:Opera仍然使用

document.body.clientWidth

document.body.clientHeight

可是IE和FireFox则使用

document.documentElement.clientWidth

document.documentElement.clientHeight

原来是W3C的标准在作怪啊http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

如果在页面中添加这行标记的话

在IE中:document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度

在FireFox中:document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度?

在Opera中: document.body.clientWidth ==> 可见区域宽度

document.body.clientHeight ==> 可见区域高度

document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

而如果没有定义W3C的标准,

则IE为:document.documentElement.clientWidth ==> 0

document.documentElement.clientHeight ==> 0

FireFox为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)

document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

Opera为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)

document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

 

       了解这些属性以后在js中进行控制

一般有w3c的标准http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">的情况下我会用document.documentElement.clientHeight获取页面高度,然后根据这个值进行控制。

注:ifarme中width可以使用100%进行设置,在没有w3c的标准下height100%是有效的,而有w3c的标准的话页面的高度是无限长的,所以height设置为100%没有效果,需要给定一个数值。

W3C标准有很多用途,这里就不一一列举了。

### COMSOL Multiphysics 中液体表面高度变化仿真 在 COMSOL Multiphysics 中实现液体表面高度变化的仿真涉及多个模块和功能。为了完成这一目标,通常会使用多相流模块中的水平集方法或体积分数法 (VOF) 来追踪自由液面的位置。 #### 设置几何结构 首先创建容器的三维几何模型,在此例子中假设为圆柱形容器。利用参数化建模技术使得容器尺寸可调,便于后续优化分析[^1]。 ```matlab % 创建圆柱体作为容器 model.geom.create('geom1'); model.geom.addcylinder(0, 0, 0, radius, height); ``` #### 定义材料属性 对于所研究的液体介质,需指定其密度、粘度等基本物性参数。如果这些数据不在默认数据库内,则可通过自定义方式加入新物质[^2]: ```matlab % 添加自定义材料 model.material.add('def', 'CustomMaterialName'); model.material.propertyGroup.set( {'Density'}, ... {'Viscosity'}); ``` #### 应用边界条件初始状态设定 针对入口设置恒定流量输入;出口采用压力边界条件保持大气压环境不变。同时初始化液位位置以及速度场分布情况。 #### 使用MATLAB API 进行自动化操作 借助于COMSOL-MATLAB之间的API接口,能够编写脚本来控制求解过程并提取结果用于进一步处理。比如调整每次迭代后的液面高度直至达到稳定态为止。 ```matlab % 调整液面高度直到收敛 while ~converged % 更新当前时刻液面高度 model.param.set('Hliquid', newHeight); % 执行单步求解 mphsolve(model); % 获取最新液面高度 [~,newHeight] = mphinterp(model,'expr','z'); converged = checkConvergence(newHeight,lastHeight,tolerance); end ``` 通过上述步骤可以在 COMSOL 和 MATLAB 的协同工作下有效地模拟出随时间演化的液体表面形态变化规律,并支持更复杂的工程应用场景下的数值实验设计需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值