忘记javascript。
把#sidemenu
分成#maincontent
,给它一个固定的宽度并将它左移。然后将所有内容都包含在#maincontent
(但不包括#sidebar
)中,称为#wrapper
(可以说)。给#wrapper
一个宽度,它等于#maincontent
的宽度减去#sidemenu
的宽度并将它浮起。在关闭</div>
的#maincontent
的前面加上<br style="clear: both" />
即可。
现在#maincontent
将扩大,以适应sidemenu(如果需要),但在#maincontent
内容也不会在自己的包装的div包裹#sidemenu
如果太短下,作为其。
希望这有助于。
更新
这里有一个例子:
HTML
<div id="maincontent">
<div id="sidemenu">
<ul>
<li><a href="#asd">A Link</a></li>
<li><a href="#asd">A Link</a></li>
<li><a href="#asd">A Link</a></li>
<li><a href="#asd">A Link</a></li>
<li><a href="#asd">A Link</a></li>
</ul>
</div>
<div id="wrapper">
This is where your text goes in the main content area of the site.
</div>
<br style="clear: both" />
</div>
CSS
#maincontent {
width: 960px;
}
#sidemenu {
width: 330px;
float: left;
}
#wrapper {
width: 660px;
float: left;
}
如果这是一个布局,一个CSS的解决方案很可能是更好。 – 472084 2012-02-21 15:39:44
我不认为你可以附加一个事件到DOM元素来监听属性中的变量变化,你必须自己写这样的东西。 – Laradda 2012-02-21 15:44:33
任何拥有.css解决方案的人都可以呢?更新了 – oliverbj 2012-02-21 15:45:33