因为这不是 1994 年,所以最好的方法是不使用框架。开玩笑,有时框架仍然有用,但应尽可能避免。原因是
- 您创建一个全新的窗口对象。除非你需要一个新的窗口对象,否则你就是在浪费内存。
- 一些搜索引擎过去不遵循框架中的 URL。对于同一域上的目的地,这可能不再是这种情况,但仍然可以改变您的页面的排名方式,除非您知道自己在做什么,否则您不应该为要编入索引的网站使用框架。
如果您必须使用框架,则必须为每个框架使用单独的 html 文件,或者您可以使用 Iframe。但是 iframe 仍然带有上述警告。
您还可以使用 JavaScript 动态加载 div 或 td(jQuery、原型、mootools 等。可以提供帮助),但从 SEO 的角度来看,这甚至比框架更糟糕,并且应该保留给需要登录的应用程序,即使那样,它们将停止工作。
从定位的角度来看,最接近框架集的是桌子。您可以不指定一列宽度并将表格宽度设置为 100%,该列将占用可用的最大空间,如行属性中的框架集“*”。但是,如果没有 javascript,表格的高度不能设置为窗口的 100%,因此您不能对高度和行执行相同的操作。这里绝对定位将比一张桌子更有帮助。例如
<div style="position: absolute; top: 0px; bottom: 0px; width: 100%">
<div style="height: 200px; width: 100%; background: red;">Fixed Row</div>
<div style="position: absolute; top: 200px; bottom: 0px; width: 100%; background: blue">Fluid Row</div>
</div>
如果它们是根元素,则其行为类似于框架行。要在另一个元素内工作,该元素必须具有宽度、高度和定位:相对。
在前面的示例中,以任何元素(如 td 或 div)的样式设置固定高度和溢出:滚动将为其提供像框架一样的滚动条。然后,您可以将所有数据放在一个页面上,或者在不同的 url 上包含一个宽度和高度为 100% 的 iframe,尽管正如我提到的,同样的警告适用于框架集。