0

我正在开发一个可重用的 ASP.net 服务器控件,它需要在 IE 6+、FF 2+ 和 Safari 的 Quirks 和标准模式下工作。

该控件将公开两个用户可定义的属性高度和宽度,这两个属性都可以定义为百分比或像素值。

在控件内部,我有两列 Div,其中包含导航栏和控件内容。当内容大于容器时,列需要是一个 Div 才能使用溢出样式。请参阅下面的示例原型代码;

<!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>
        <title></title>
    </head>
    <body>
        <div style="height: 100%; width:400px; background-color: Green; ">
            <div style="height: 100%; width: 25%; background-color: Red; float:left; overflow:auto;">
                LongString:<br />Stuffsdfsfdsdfsfsdfdfsdfsdfsdfsdfsdxgsdfgsdfgsdgiusdfgiudfgifdgu
            </div>
            <div style="height: 100%; width: 75%; background-color: Pink; float:right;">
                Stuff
                <br />
                More stuff
                <br />
                And some more
            </div>
            <div style="clear:both;"></div>
        </div>
    </body>
</html>

我遇到的问题是,在标准模式下,当使用百分比基高时,div 只呈现与其内容一样大的内容。看来解决此问题的唯一方法是使用 JavaScript。

然后,这会产生问题,即控件可以使用 AJAX 异步重新渲染,并且高度不同步。

我想要实现的目标是不可能的,还是我找错了地方?

4

2 回答 2

0
<div style="height: 100%

100% 什么?div 不是绝对定位的,所以答案是它的父级。父母是身体。

身材有多高?未指定:默认为auto. auto表示 body 的高度是根据其内容的高度计算的。Quirks Mode 中的错误是body具有与视口匹配的最小高度。

将 html 和 body 都设置height: 100%为在标准模式下真正获得 100%。

于 2009-03-03T21:30:19.007 回答
0

我不想这么说,但有时当不得不使用旧浏览器时,使用老式技术有时可以更快地完成工作。试试 <table> 标签。:(

<table style="height: 100%; width:400px; background-color: Green; ">
    <tr>
        <td style="height: 100%; width: 25%; background-color: Red; overflow:auto;">
            LongString:<br />
            Stuffsdfsfdsdfsfsdfdfsdfsdfsdfsdfsdxgsdfgsdfgsdgiusdfgiudfgifdgu
        </td>
        <td style="height: 100%; width: 75%; background-color: Pink; ">
            Stuff
            <br />
            More stuff
            <br />
            And some more
        </td>
    </tr>
</table>
于 2009-04-10T00:13:29.147 回答