html - 我可以用 <div> 而不是 <table> 构建一个网页,并且仍然在几个区域中拆分页面吗?

标签 html css

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

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

有人知道我该如何解决这个问题吗?

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

关于html - 我可以用 <div> 而不是 <table> 构建一个网页,并且仍然在几个区域中拆分页面吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192384/

相关文章:

css - 如何为单个jsf页面应用jsf primefaces主题

javascript - 如何在 Knockout 中绑定(bind) Html 5 视频控件属性

javascript - 横幅的鼠标效果

css - 当您触摸该 div 的子元素时,IE7 悬停在 div 上丢失

jquery - 单击 css 类后获取最近的 iframe 的 src

javascript - 是否存在适用于 Google 的 HTML/CSS/JS 样式指南的验证器/linter?

javascript - 如何围绕 bootstrap form-inline 对齐 div

javascript - 多多边形 SVG 选择(填充颜色)和蒙版导出到图像

javascript - 如何使用 javascript 从特定标签获取 HTML 文档中的所有文本节点?

html - 如何使两列高度相同且响应迅速