我正在制作一个网页,它需要一个标题(在顶部)和一个左对齐的菜单(在标题下方)以及该菜单右侧的内容。
我面临的问题是,我想使用(元素和浮动),而不是创建页面的结构。然而,每当我调整浏览器窗口的大小时,内容元素都会在菜单下浮动。我希望内容粘贴到左侧浮动菜单的右侧。
有人知道我该怎么解决这个问题吗?
我的html代码有这样的结构:
<div id="menu">
<a href="#">menu #1</a>
...
...
...
</div>
<div id="subcontent">
text or whatnot...
</div>
Css文件如下所示:
#menu
{
width: 200px;
float: left;
}
#subcontent
{
width: 800px;
float: left;
}
PS我试过将像素更改为%,但没有成功。
CSS
#layout {
min-width: 1001px;
}
#menu {
width: 200px;
float: left;
}
#subcontent {
width: 800px;
float: left;
}
.clear-both {
clear: both;
font: 1px/1px monospace;
display: block;
}
HTML
<div id="layout">
<div id="menu"> <a href="#">menu #1</a> ...
...
... </div>
<div id="subcontent"> text or whatnot... </div>
<div class="clear-both"></div>
</div>
另一种解决方案:
CSS
#layout {
display: table;
width: 1000px; /* set it to 100% if #subcontent width is dynamic */
}
#menu {
width: 200px;
display: table-cell;
}
#subcontent {
width: 800px; /* you can remove the width to make it dynamic */
display: table-cell;
}
HTML
<div id="layout">
<div id="menu"> <a href="#">menu #1</a> ...
...
... </div>
<div id="subcontent"> text or whatnot... </div>
</div>
您将需要一个外部容器。
只需尝试将两个元素包装在宽度为1000px 的div中即可
<div class="outer">
<div id="menu">
<a href="#">menu #1</a>
</div>
<div id="subcontent">
</div>
</div>
.outer{width: 1000px;}
#menu
{
width: 200px;
float: left;
}
#subcontent
{
vertical-align: top;
width: 800px;
float: left;
}