我正在制作一个我喜欢的布局,以后再玩。
目前,这是我的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会增长?我怎样才能解决这个问题?
感谢。
答案 0 :(得分:0)
将overflow:hidden
或overflow:auto
添加到middle
div
答案 1 :(得分:0)
如果您希望简单地删除额外的内容,将overflow:hidden
添加到middle
div将解决问题。
然而,更大的问题是即使只是在较小的浏览器窗口中打开页面也会导致几乎所有部分出现问题,更不用说像移动浏览器这样的问题了。
我建议您阅读this类似问题的答案,以查看其他解决方案。