http://www.cnblogs.com/clare-zhang/archive/2011/08/26/2154220.html

正像你所知道的那样,设置DIV大小的有两个属性width和height,以前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明 确这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里得到的从哪里继承的?今天我们的话题就是有关div高度100%的问题!

其实,要弄懂div宽度|width100%、div高度|height100%到底是怎么实现的,只需弄懂一个简单的问题就可以了,即100%的基数是谁,就是这个100%是相对于谁的width、height来说是100%?

div的100%是从其上一级div的宽高继承来的,有一点很关键,就是要设置div100%显示,必须设置其上一级div的宽度或高度,否则无 效。举例说明:父div(deman)宽300高200,子div(cc)如果在这个条件下设置divcc的宽高都为100%的话,那cc的确切大小就是 父div的大小(宽300高200),在尝试中你会发现,div显示会受自身和其上一级div的padding和margin影响,而其实际宽高不受影 响。值得玩味噢!

你设div的高度为100%,那么它是和什么地方相对为100%?

前面总得有个容器说明他的高度是多少。这样的话div才能按比例100%继承上一级的高度。可惜的是浏览器一般默认解释为内容的高度,而不是 100%。但是只要为html和body设置高度为100%就可以了:html,body{height:100%;},这样之后div会按比例来继承上 一级的高度了,仅仅设置的DIV元素的height属性貌似没有什么效果。

同时,让人高兴的是,这样设置的css样式不存在浏览器兼容问题,在IE5.5、IE6、IE7、IE8还有火狐均可正常显示。

那么,如下的样式可以设置Div撑满整个页面:

<style type="text/css">
        html
        {
         height:100%;
         margin:0;
        }
        body
        {
            height:100%;
            margin:0; 
        }
    </style>

<div style="width:100%; height:100%; z-index:1">
</div>

有一点需要注意的是,Html级元素默认宽度是100%,即整行;但是高度并不是100%,而仅仅是一行而已。

所以要想实现撑满整个页面,必须显式地设置高度为100%!

最新文章

  1. antlr.collections.AST.getLine()I异常
  2. Python—使用__slots__限制实例的属性
  3. jetbrains产品激活方式(WebStorm,Pycharm有效)
  4. GCD的简单介绍
  5. C语言常用的小代码
  6. [改善Java代码]asList方法产生的List对象不可更改
  7. sql2012 新增 OFFSET/FETCH
  8. [转] boost------ref的使用(Boost程序库完全开发指南)读书笔记
  9. StrictMode使用详解
  10. xgboost-python参数深入理解
  11. Spring Dubbo 开发笔记(一)——概述
  12. JavaScript实现策略模式
  13. git 入门(转)
  14. VSCode CSS自动补充前缀
  15. vue的三种通信方式
  16. spring mvc 简单的文件上传与下载
  17. Virtualbox下克隆CentOS 网络配置
  18. TCP连接之报文首部
  19. SQLServer转MYSQL的方法(连数据)[传]
  20. POJ1789:Truck History(Prim算法)

热门文章

  1. mysql 只导数据不含表结构
  2. Java并发编程实现概览
  3. HTML5学习之画布和SVG(四)
  4. js注入
  5. RAC NTP/CTSS
  6. C# 创建Windows Service
  7. IIS常见错误
  8. pthread_create传递参数
  9. 搭建Mantis 缺陷管理系统(转)
  10. OpenCv实现两幅图像的拼接