【问题标题】:Input of Content Changing Height内容改变高度的输入
【发布时间】:2012-11-20 23:02:37
【问题描述】:

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

目前,这是我的 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 会变大?我怎样才能解决这个问题?

谢谢。

【问题讨论】:

  • 当内容超出分配空间时,您希望它做什么?应该剪掉吗?

标签: html css


【解决方案1】:

如果您希望它只是删除多余的内容,将overflow:hidden 添加到middle div 将解决问题。

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

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

【讨论】:

    【解决方案2】:

    overflow:hiddenoverflow:auto 添加到middle div

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多