【发布时间】:2011-01-18 15:59:00
【问题描述】:
我发现创建这样具有良好语义的布局很尴尬。
左侧是一个大约 150 像素宽的列,其中包含导航元素。
我想将网站这一部分的 HTML 放在 HTML 代码的开头, 然后有一个简单的方法来强制页面的其余部分不要侵占左侧的区域(150 像素列)。
我已经考虑了一些选项。
- 将网站内容的其余部分放在一个 div 中,该 div 明确地具有 150 像素的左边距。
- 将导航元素设置为宽度 150 像素并向左浮动。页面的其余部分自然换行。
还有其他更适合此任务的选项吗?
以下是缺点。
- 现在将导航元素更改为 200 像素需要我将另一个 div 的左边距编辑为 200 像素。当然,这对于一次性布局更改来说并不算太糟糕,但是如果我让导航元素的宽度从脚本中动态更改呢?我需要脚本来更改 div 的边距。
- 如果将 nav 元素设置为 position:fixed(并使其占据页面的整个左列),则页面的其余部分不适应其现在的静止行为,并且在页面滚动时看起来很糟糕。为了解决这个问题,我需要使导航元素无限高。我不确定如何以正确的方式做到这一点。
height:9999999px;?这使我的页面有 1000 万像素高,滚动条现在没用了。
【问题讨论】: