在前端人员之间有一个普遍存在的问题,如何让一个div的高度自动延伸到浏览窗口100%的高度。有一些不同的方法可以实现,但是,我想出了一个我个人比较喜欢的方法。今天,我将于你分享一下。

我对你是不了解的,但我试图弄明白如何让我的布局垂直拉伸到页面的100%高度,这样一个令我沮丧的问题。我想让div结构自动延伸,但是它就是不能自动延伸,现在,为什么他不能这样那?今天我将与你一起分享这个解决方法。
比方说你有如下html代码文档


提示:您可以先修改部分代码再运行

同时你有如下css样式文件

CSS Code复制内容到剪贴板
  1. body {   
  2.     margin: 0;   
  3.     padding: 0;   
  4. }   
  5. #content {   
  6.     background: #EEE;   
  7.     border-left: 1px solid #000;   
  8.     border-right: 1px solid #000;   
  9.     padding: 0 20px 0 20px;   
  10.     margin: auto;   
  11.     font: 1.5em arial, verdana, sans-serif;   
  12.     width: 960px;   
  13.     height: 100%;   
  14. }  

这就给了你这个示例文件。正如你所看到的,页面的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>容器高度应为整个页面的高度。
如果我们修改我们的css文件,如下所示

CSS Code复制内容到剪贴板
  1. html {   
  2.     min-height: 100%;   
  3.     _height:100%;   
  4. }   
  5. body {   
  6.     margin: 0;   
  7.     padding: 0;   
  8.     min-height: 100%;   
  9.     _height:100%;   
  10. }   
  11. #content {   
  12.     background: #EEE;   
  13.     border-left: 1px solid #000;   
  14.     border-right: 1px solid #000;   
  15.     padding: 0 20px 0 20px;   
  16.     margin: auto;   
  17.     font: 1.5em arial, verdana, sans-serif;   
  18.     width: 960px;   
  19.     min-height: 100%;   
  20.     _height:100%;   
  21. }  

就是这样,这里是我们现在的最终效果。这个content容器现在已经能自动延伸到整个页面的高度了。

中文原文:小技巧:css100%高度
英文原文:Quick Tip:CSS 100% Height

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。