我是 CSS 和 HTML 的新手,我正在尝试创建一个简单的 HTML 页面。
所以关于实现:我有一个名为容器的主 div,具有相对定位。在这个主 div 中,我还有 3 个 div:header-定位绝对,顶部:0px,菜单-也是绝对,页脚-绝对底部:0px。我的主要问题是关于放置在菜单 div 和页脚之间的内容 div。如果这个内容 div 有很多信息,它的高度会变得比主 div(容器)大,并且页脚显示在内容 div 的信息之上。
我试图不在带有 padding-top 的菜单 div 下给出定位和位置,但是最后 2-3 行在页脚下丢失了。我应该说粘性页脚不是我想要的。我需要另一个解决方案。
这是 HTML:
<body>
<!-- CONTAINER -->
<div id="container">
<!--HEADER-->
<div id="header" >
<p>Header</p>
</div>
<div id="menu" >
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
<li>Menu Item 3</li>
<li>Menu Item 4</li>
<li>Menu Item 5</li>
</ul>
</div>
<!-- Problematic div -->
<div id="content"> // simulate large amount of information
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
<h1> Content</h1>
</div>
<div id="footer">
<p> Footer </p>
</div>
</div>
</body>
和 CSS:
html,
body {
margin:0;
padding:0;
height:100%;
}
#container{
position : relative;
min-height:100%;
}
#header{
top : 0px;
position : absolute;
width : 100%;
height : 100px;
background-color: red;
}
#header p{
position : absolute;
top : 39px;
}
#menu{
position : absolute;
top : 100px;
width: 100%;
background-color: yellow;
overflow: auto;
white-space:nowrap;
}
#menu ul{
margin : 0px;
padding-left: 20px;
list-style-type: none;
}
#menu li{
display : inline-block;
padding-right: 150px;
border-style : 1px solid;
}
#content{
/*
padding-top : 121px;
*/
position: absolute;
top : 120px;
width : 100%;
background-color: green;
}
#footer{
position: absolute;
width: 100%;
height : 60px;
background-color:grey;
bottom : 0px;
}
对不起,很长的帖子。我只是试图尽可能地解释这个问题。非常感谢。