关于Div的宽度与高度的100%设定

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%!

时间: 2024-10-28 14:17:24

关于Div的宽度与高度的100%设定的相关文章

关于div宽度和高度的100%设定

设置DIV大小的有两个属性width和height,以前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明白这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里得到的从哪里继承的?今天我们的话题就是有关div高度100%的问题! 其实,要弄懂div宽度|width100%.div高度|height100%到底是怎么实现的,只需弄懂一个简单的问题就可以了,即100%的基数是谁,就是这个100%是相对于谁的width.height来说是100%? div的100%是从其上一级

用伪类实现一个div的宽度和高度是固定百分比

遇到一个题目:一个div宽度是固定百分比的情况下,如何设置高度是宽度的80% 看到题目的第一反应是用js控制,获取到div的宽度之后再用宽度的80%来设置div的高度,但是如何在不用js的情况下,只用CSS来实现呢 下面是示例代码: HTML代码: <div class="outer"></div> CSS代码: .outer{ width: 30%; background: #eee; } .outer:after{ content: ''; display:

图片宽度和高度都大于div,实现图片在div中居中

<style type="text/css"> #out{height:100px; width:150px; position:relative; overflow:hidden;} #mid{position:absolute;top:50%; left:50%; width:1000px; margin-left:-500px; text-align:center;} #in{ position:relative; top:-50%;} </style>

jquery获取div宽度与高度

jquery里面获取div区块的宽度与高度. 获取宽度 $('div').width();     获取:区块的本身宽度 $('div').outerWidth();     获取:区块的宽度+padding宽度+border宽度 $('div').outerWidth(true);    获取:区块的宽度+padding宽度+border宽度+margin的宽度 获取高度 $('div').height();     获取:区块的本身高度 $('div').outerHeight();    

设置div的宽度为父元素的百分比,高度为宽度的百分比

body { margin: 0 auto; width: 100%; /*清除display:inline-block元素换行符间隙*/ font-size: 0; text-align: center; } div { display: inline-block; width: 20%; background: green; font-size: 12px; position: relative; vertical-align: middle; } div:before { content:

DIV垂直/水平居中2(DIV宽度和高度是动态的)

<!doctype html><html><head><meta charset="utf-8"><title>块元素DIV-垂直/水平居中(动态)</title><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascrip

自动填满窗口(宽度和高度都要填满)

要求 :A的高度是100px,宽度填满整个窗口,B,C的宽度分别是200px,100px,高度填满剩下的窗口,D的宽度和高度填满剩下的窗口. 我的想法:当时拿到这个题目的时候,宽度填满很简单,高度用自适应和百分之百都不行,就想到用js的方法,获取网页可用区域的宽度和高度  然后在相减就可以了,这个方法确实可以,不过昨晚回来查了下,其实用css方法也是可以的,之前自学的时候也学习过,不过没有用到实际的项目中 就忘记了,现在遇到这样的问题反而不会了.其实就是运用position:absolute的属

设定网页最小最大宽度和高度(兼容IE6)

http://www.cnblogs.com/double-bin/archive/2011/12/19/2293093.html /* 最小寬度 */ .min_width{min-width:300px; /* sets max-width for IE */ _width:expression(document.body.clientWidth < 300 ? "300px" : "auto"); } /* 最大寬度 */ .max_width{ max

div自适应宽度

对于div自适应宽度,网上的说法基本上都是将要自适应宽度的div放在其它固定宽度的最后,不指定其float属性或将float属性指定为none,比如三栏布局居中的一栏为自适应宽度,就可以这样来定义三栏div: <div id="left" style="float:left;width:100px;">这是左栏</div> <div id="right" style="float:right;width:1