常见的重叠问题,但通常的答案似乎不起作用

时间:2012-08-02 15:14:16

标签: html css

好的家伙我完全清楚这个问题已经在几个网站上多次被问过,我已经完成了我的研究并尝试了人们给出的所有解决方案,但我显然错过了一些因为他们没有帮助的东西。我是相对较新的HTML和CSS所以也许它简单,我忽略了。

继承我的问题。我有标题和一个容器div然后一个页脚div,我希望页脚div保持粘在窗口的底部但是当窗口调整大小时我不希望它重叠容器div。

我可以让页脚div坚持浏览器的底部没有明显的绝对位置和底部0 CSS的问题,但显然那会导致容器div的重叠问题,所以我做了我的研究并尝试过向body标签添加相对位置,然后将页脚div移动到容器div的底部而不是窗口的底部。我在这里创建了一个关于我问题的迷你模拟:

首先没有身体上的相对位置:

http://www.klstuff.com/test1

然后在身体上有相对位置:

http://www.klstuff.com/test2

基本上我希望方框2贴在窗户的底部但是当窗口调整大小时我不希望它与方框1重叠。我还尝试将min-height和height 100%属性添加到主体和容器中标签但似乎根本没有做任何事情。这是test2的代码(我认为相对位置属性稍微接近正确。)

<?xml version="1.0" encoding ="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<head>
<title>HTML/CSS Test Site</title>
<meta name="description" content="HTML/CSS testing page.">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>


<body>


<div id="Box1">
    <p>BOX 1</p>
</div>

<div id="Box2">
    <p>BOX 2</p>
</div>

</body>
</html>

body {
height: 100%;
position: relative;
}

#Box1 {
width: 980px;
background-color: blue;
color: #fff;
margin: auto;
text-align: center;
padding-bottom: 150px;
padding-bottom: 150px;
margin-top: 200px;
}

#Box2 {
width: 100%;
background-color: red;
text-align: center;
padding-bottom: 50px;
padding-bottom: 50px;
position: absolute;
bottom: 0;
left: 0;
}

1 个答案:

答案 0 :(得分:0)

Wahoo终于做到了!花了我一会儿。

首先,首先,在两个盒子周围制作一个包含div。将主体高度设置为100%,然后为容器设置最小高度100%。将容器位置设置为绝对值,宽度设置为100%。

然后,设置页脚的高度并将相同值的边距底部设置为主要内容(即框1)。根据代码:

HTML:

<div id="container">
   <div id="Box1">
       <p>BOX 1</p>
   </div>

   <div id="Box2">
       <p>BOX 2</p>
   </div>
</div>

CSS:

body {
  height: 100%;
  padding: 0px;
  margin: 0px;
}

#Box1 {
  width: 980px;
  background-color: blue;
  color: #fff;
  margin: auto;
  text-align: center;
  height: 150px;
  margin-bottom: 100px;
  margin-top: 200px;
}

#Box2 {
  width: 100%;
  background-color: red;
  text-align: center;
  position: absolute;
  bottom: 0;
  height: 100px;

}

#container {
  width: 100%;
  min-height: 100%;
  position:absolute;
}

希望这会有所帮助。它对我有用。