0

我正在制作一个布局,以后我会喜欢玩。

目前,这是我的 HTML。

<!DOCTYPE html>
<html>
<head>
    <title>title</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
<div id="top">
    <a class="title" href="index.html">TITLE</a>
</div>
<div id="middle">
    <h2>SubTitle</h2>
</div>
<div id="bottom">
    <ul>
         <a class="nav" href="#"><li>NAV1</li></a>
         <a class="nav" href="#"><li>NAV2</li></a>
         <a class="nav" href="#"><li>NAV3</li></a>
         <a class="nav" href="#"><li>NAV4</li></a>
         <a class="nav" href="#"><li>NAV5</li></a>
    </ul>
</div>
</body>

</html>

和 CSS。

HTML, body {
margin: 0px;
padding: 0px;
height: 100%;
width: 100%;
color: #0d0d0d;
}

#top {
display: block;
width: 100%;
height: 15%;
border-bottom: 2px solid blue;
background-color: #f2f2f2;
box-sizing: border-box;
overflow: hidden;
margin: 0px;
padding: 0px;
}

.title {
display: block;
padding-top: 2%;
width: 100%;
text-align: center;
color: #0d0d0d;
font-family: arial black;
text-decoration: none;
font-size: 4em;
}

#middle {
display: block;
max-width: 600px;
height: 75%;
max-height: 75%;
margin: 0 auto;
}

#bottom {
display: block;
width: 100%;
height: 10%;
background-color: #f2f2f2;
margin: 0px;
padding: 0px;
}

ul
{
list-style-type:none;
margin:0;
padding:0;
width: 100%;
height: 100%;
}

li
{
float: left;
width: 20%;
height: 100%;
text-align: center;
box-sizing: border-box;
border-top: 2px solid blue;
border-right: 2px solid blue;
padding-top: 3%;
overflow: hidden;
-webkit-transition: color 500ms;  
-moz-transition: color 500ms;  
-o-transition: color 500ms;  
transition: color 500ms;   
}

.nav
{
display: inline;
text-decoration: none;
color: #0d0d0d;
font-family: arial black;
}

li:hover
{
color: orange;
}

问题在于,当我用任何内容(例如标题或段落)填充“中间” div 时,它的高度会发生变化以扩大到应有的高度。该布局旨在没有滚动条,这就是为什么 div 的百分比加起来为 100% 的原因。

为什么添加内容时中间div会增长?我怎样才能解决这个问题?

谢谢。

4

2 回答 2

0

如果你想让它简单地切断额外的内容,添加overflow:hiddenmiddlediv 将解决问题。

然而,更大的问题是,即使只是在较小的浏览器窗口中打开页面也会导致几乎每个部分都出现问题,更不用说像移动浏览器之类的东西了。

我建议通读这个类似问题的答案,以查看一些替代解决方案。

于 2012-11-20T15:00:12.243 回答
0

添加overflow:hidden或添加overflow:automiddlediv

于 2012-11-20T14:56:18.037 回答