在前端人员之间有一个普遍存在的问题,如何让一个div的高度自动延伸到浏览窗口100%的高度。有一些不同的方法可以实现,但是,我想出了一个我个人比较喜欢的方法。今天,我将于你分享一下。
我对你是不了解的,但我试图弄明白如何让我的布局垂直拉伸到页面的100%高度,这样一个令我沮丧的问题。我想让div结构自动延伸,但是它就是不能自动延伸,现在,为什么他不能这样那?今天我将与你一起分享这个解决方法。
比方说你有如下html代码文档
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>CSS 100% Height</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="content">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</div>
</body>
</html>
同时你有如下css样式文件
body {
margin: 0;
padding: 0;
}
#content {
background: #EEE;
border-left: 1px solid #000;
border-right: 1px solid #000;
padding: 0 20px 0 20px;
margin: auto;
font: 1.5em arial, verdana, sans-serif;
width: 960px;
height: 100%;
}
这就给了你这个示例文件。正如你所看到的,页面的content容器不能自动延伸到页面的整个高度。尽管我们给css样式文件添加了”height:100%”。为什么那?
让我给你另外一种方式来思考HTML,几乎每一个HTML文件都有一组容器彼此包含的。因此,在我们的页面里面,首先我们有一个<html>容器,其次<body>容器包含在<html>里,最后才是<div id=”content”></div>容器包含在里面。当我们往任何一个容器里面放置内容的时候,这个容器和包含此容器的父容器盒子都会自动延伸的,从而能容下这些新添加的内容。也就是说,当我们往<div id=”content”></div>容器盒子添加文字内容的时候,这个div容器盒子是自动延伸的,包含这个div容器的父容器盒子(body与html)依次是自动延伸的。
当我们给<div id=”content”></div>容器定义“height:100%”样式时,我们现在做的就是告诉它让其高度延伸到包含它的父容器的整个高度。在这个例子里,这个div容器被包含在<body>容器里面,所以<div id=”content”></div>就是body的整个高度。好了,body容器是如何延伸增长的那?它就像<div id=”content”></div>的高度一样,因为我们从来没有告诉它如何增高的。所以当我们给<div id=”content”></div>定义“height:100%”样式的时候,我们仅仅告诉了它自己。
解决此问题,我需要告诉<body>容器变的大一些儿,同时<html>容器也会出现同样的问题,它应该与<body>一样大。所以为了解决这个问题(让<div id=”content”></div>容器自动延伸到整个页面的高度)我们需要告诉<html>和<body& gt;容器高度应为整个页面的高度。
如果我们修改我们的css文件,如下所示
html {
min-height: 100%;
_height:100%;
}
body {
margin: 0;
padding: 0;
min-height: 100%;
_height:100%;
}
#content {
background: #EEE;
border-left: 1px solid #000;
border-right: 1px solid #000;
padding: 0 20px 0 20px;
margin: auto;
font: 1.5em arial, verdana, sans-serif;
width: 960px;
min-height: 100%;
_height:100%;
}
就是这样,这里是我们现在的最终效果。这个content容器现在已经能自动延伸到整个页面的高度了。
分享到:
相关推荐
综上所述,虽然直接设置<div>元素的height为100%不能直接达到让<div>元素高度占满浏览器视窗的效果,但通过一系列的CSS规则设置,可以使得<div>元素高度正确地延伸到视窗的100%。这种方法的实现方式根据不同的布局...
首页尤为突出,不仅设计精美,还特别注意了顶部导航和底部区域的处理,确保这些区域的背景颜色能够延伸到整个浏览器窗口的宽度,提高用户体验。 #### 2. **网页编辑** - **兼容性**: 该网页作品的代码简洁,便于...
### CSS开发字典知识点解析 #### 一、基础概念与属性 **Absolute(绝对定位)** - 绝对定位使元素相对于最近的非static定位的祖先元素进行定位。 - 使用`top`, `right`, `bottom`, 和 `left` 属性可以设定元素的...
这个CSS代码确保了`#wrap`的最小高度为100%,使得即使内容较少,也能延伸至视窗底部。`#main`的`padding-bottom`值与`#footer`的高度相等,这样`#footer`就可以通过负`margin-top`值被拉回到视窗底部,而不会与主要...
CSS(Cascading Style Sheets,层叠样式表)用于控制网页的布局和样式。通过定义样式规则,可以轻松地改变页面外观而无需修改HTML代码。 **CSS属性**: - `color`:文本颜色。 - `font-size`:字体大小。 - `font-...
拖动过程中,更新内部div的宽度和高度,从而实现窗口的放大或缩小。这里,我们将拖拽的物体设为一个图片,放置在窗口的右下角,模拟窗口角的拖动效果。 在实现这些效果时,需要注意以下几点: 1. 使用`position:...
- 使用`window.innerWidth`和`window.innerHeight`获取了浏览器窗口的宽度和高度。 - 使用`setInterval`函数来定时执行代码,每隔30毫秒更新气球位置。 2. **DOM操作**: - `var balloon=document.createElement...
12. ****:双向覆盖标签,用于控制文本的方向,如从右到左或从左到右。 13. ****:用于显示大号文本,但其使用并不鼓励,应使用CSS来调整文本大小。 14. ****:块引用标签,用于定义长的引用文本,如演讲稿或文章...
另外,"体内"的概念也可以延伸到元素的嵌套。在HTML中,一个元素可以被包含在另一个元素内部,形成层级结构。例如,一个`<div>`元素可以包含多个`<p>`元素,这样的结构就形成了"体内"的关系。这种嵌套使得网页的布局...
4. **响应式设计**:考虑到网站可能在不同设备上显示,现代网页常采用响应式设计,利用媒体查询(`@media`)来根据屏幕尺寸调整布局和样式。 5. **GitHub Pages**:Zach Whaley的网站托管在GitHub Pages上,这是一...
结合当前的一些实际情况,本设计方案在前台采用div+css的网页布局,后台采用当前 的主流架构SS的技术,并结合使用当前流行的CKEditor编辑器,使用mvc模式设计,在控 制层用struts技术,视图层采用jsp技术,业务支撑...