【发布时间】:2015-02-28 13:15:52
【问题描述】:
我正在尝试找出使用 css 布局此页面的正确方法,但遇到了一些麻烦。 html 看起来像:
body {
background-color: orange;
}
header {
display: block;
text-align: right;
width: 100%;
height: 50px;
}
.mainWrapper {
width: 100%;
}
nav {
border: 1px solid black;
float: left;
padding-top: 20px;
width: 20%;
}
nav ul li {
width: 100%;
text-align: center;
margin-bottom: 10px;
list-style-type: none;
height: 75px;
border: 1px solid black;
}
content {
float: right;
width: 65%;
padding: 100px;
background-color: white;
border-radius: 10px;
border: 1px solid black;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</style>
</head>
<body>
<header>Title</header>
<div class="mainWrapper">
<nav>
<ul>
<li>Link 1</li>
<li>Link 2</li>
<li>Link 3</li>
<li>Link 4</li>
</ul>
</nav>
<content>blah blah blah</content>
</div>
</body>
</html>
我的目标是顶部有一个 100% 宽度的标题。在左侧下方是一个 20% 宽的导航菜单,向左浮动。然后紧靠该导航右侧的是占据页面剩余宽度的主要内容区域。
问题在于,当浏览器窗口变小时,主要内容区域会转移到导航菜单下方。这样做很奇怪,因为我认为内容区域会自行调整大小,因为它设置为 % 宽度。
另外,确保导航菜单和内容区域垂直占据浏览器其余空间的最佳方法是什么?我尝试在它们上设置一个 height:100% (在将正文高度也设置为 100% 之后),但它仅延伸到页面底部之外并强制显示滚动条
【问题讨论】: