我是否可以构建一个网页,而不是<div> <table> 仍然在多个区域中拆分页面?



我正在制作一个网页,它需要一个标题(在顶部)和一个左对齐的菜单(在标题下方)以及该菜单右侧的内容。

我面临的问题是,我想使用(元素和浮动),而不是创建页面的结构。然而,每当我调整浏览器窗口的大小时,内容元素都会在菜单下浮动。我希望内容粘贴到左侧浮动菜单的右侧。

有人知道我该怎么解决这个问题吗?

我的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;   
}

最新更新