我目前正在尝试为我设计网站模板,问题是我无法让Content div自动扩展其中的内容。
我想让它自动调整大小,所以我不需要手动设置CSS高度。
我制作的CSS代码:
#Container {
position: relative;
width: 800px;
height: 100%;
margin: 0px auto 0 auto;
text-align: left;
padding-left: 1px;
cursor: de;
border-left: 1px solid #000001;
border-right: 1px solid #000001;
border-top: 1px solid #000001;
border-bottom: 1px solid #000001;
background-color: #C1E9FF;
}
#LogoContainer {
background-image: url('/media/Logo.png');
border-right-width: 1px;
border-bottom-width: 1px;
border-right-color: rgb(0,0,1);
border-bottom-color: rgb(0,0,1);
border-right-style: solid;
border-bottom-style: solid;
width: 400px;
height: 50px;
position: absolute;
z-index: 1;
}
#LikeBar {
border-bottom-width: 1px;
border-bottom-color: rgb(0,0,1);
border-bottom-style: solid;
width: 400px;
height: 50px;
position: absolute;
left: 400px;
z-index: 1;
}
#ButtonHome {
background-image: url('/media/Bt.png');
width: 100px;
height: 30px;
position: absolute;
top: 50px;
z-index: 1;
}
#ButtonVideo {
background-image: url('/media/Bt.png');
width: 100px;
height: 30px;
position: absolute;
left: 105;
top: 50px;
z-index: 1;
}
#Footer {
border-top-width: 1px;
border-top-color: rgb(0,0,1);
border-top-style: solid;
width: 800px;
position: absolute;
bottom: 0;
z-index: 1;
text-align: center;
}
#Content {
position: absolute;
top: 90px;
width: 800px;
height: 95%;
border-top: 1px solid #000001;
}
#YouTubeBox {
position: absolute;
background-image: url('/media/Box.png');
width: 100px;
height: 30;
left: 10px;
text-align: center;
}
#TwitterBox {
position: absolute;
background-image: url('/media/Box.png');
width: 100px;
height: 30;
left: 110px;
text-align: center;
}
#FaceBookBox {
position: absolute;
background-image: url('/media/Box.png');
width: 100px;
height: 30;
left: 210px;
text-align: center;
}
.DivT { line-height: 1px }
带有DIV的HTML代码
<!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">
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" />
<title>HTML CODE</title>
<meta name="description" content="Null" />
<meta name="keywords" content="Null" />
<link href="ThemeV1.css" rel="stylesheet" type="text/css" />
</head>
<body background="/media/Background.png">
<div id="Container">
<!-- Start Container -->
<div id="LogoContainer"></div>
<div id="LikeBar"></div><!-- Menu Controls -->
<div id="ButtonHome"></div><!-- WEBSITE CONTENT -->
<div id="Content">
<p class="DivT">We're upgrading the website with a new design and hopefully it will
be faster, so check back later.</p>
</div><!-- END WEBSITE CONTENT -->
<!-- Footer -->
<div id="Footer"></div><!-- End Footer -->
</div><!-- End Container -->
</body>
</html>
那么,出了什么问题?我想省时间不手动设置高度。
答案 0 :(得分:8)
由于div#Content
绝对位于div#Container
内,因此容器在确定自己的尺寸时会忽略内容的高度和宽度。尝试给div#Content
position
relative
值height
。然后,如上面的评论中所述,将其min-height
属性切换为style.height
。如果您需要坚持使用绝对定位并且仍然需要受内容影响的高度,那么当内容div的高度发生变化时,您将不得不使用JavaScript来调整包含div的{{1}}。
答案 1 :(得分:3)
您似乎已手动设置内容高度的高度:
#Content {
...
height: 95%;
删除height
,其高度将是保存其(非浮动)内容所需的高度。
答案 2 :(得分:0)
如果你想要重新调整大小,那么没有任何高度属性设置的div会自动重新调整大小到其中包含的内容的高度。如果您希望它至少高度为XXXpx或以某种方式适合屏幕,则使用min-height属性。这将固定高度,以便在文本太小时显示在所需区域中,如果文本大于最小设置,则会扩展。
你在这里描述了很多高度,我不打算进入所有这些,但我会至少调整这些:
#Container { min-heigh: 100%;}
#Content { min-height: 95%; }
* 注 - IE6不支持min-height和min-width;
元素的定位也会导致高度问题,因为它们可以将元素从标准数据流中取出,如果你正确设置布局,除非你需要做一些特定的事情,否则它并不是必需的。比如设置z-index或者想要一个随网站滚动的固定背景。