当前位置: 代码迷 >> Web前端 >> w3c基准控件的height100%不起作用
  详细解决方案

w3c基准控件的height100%不起作用

热度:1171   发布时间:2012-07-05 07:59:18.0
w3c标准控件的height100%不起作用

包含控件的网页HTML代码里通常都会有个网页类型描述:

?

1. 如果是<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >开头,
SOAOffice客户端控件的Object标签里的height:100%可以很好的起作用,如果Object标签外面没有容器标签,控件就能充满页面。

2. VS.net2008开发asp.net网站时,会给aspx页面前头加上
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">...

也是就说当前页面遵循W3C标准,同样的SOAOffice客户端控件的Object标签里的height:100%就不起作用了,总是显示一部分。这是因为一个对象高度是否可以使用百分比显示,取决于对象的父级对象,控件在页面中直接放在body之中(没有任何其他容器标签时),因此它的父级是body,而浏览器默认状态下,是没有给body一个高度属性的,因此当我们直接设置Object标签为height:100%;时,不会产生任何效果。

解决方法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
????<title></title>
</head>
<body style="height:100%; overflow:hidden; margin:0px; padding:0px;">
????<form id="form1" runat="server">
????<div style="height:100%; position:absolute; width:100%;">
????<!--?? OBJECT标签,客户端控件引用????-->
????<OBJECT id="SOAOfficeCtrl" codeBase="SOAOffice.ocx#version=8,0,0,0" height="100%" width="100%"
data="" classid="clsid:83171BA4-BDCA-42a8-BE44-745ABF36EB7E" VIEWASTEXT>
<div align="center" STYLE="color:red;">
本机尚未安装SOAOFFICE客户端控件,请安装浏览器上方黄色提示条或弹出提示框中的SOAOFFICE客户端控件。</div>
????</OBJECT>
????</div>
????</form>
</body>
</html>

  相关解决方案