理解height 百分比 height:100%

当你让一个元素的高度设定为百分比高度时,是相对于父元素的高度根据百分比来计算高度。当没有给父元素设置高度(height)时或设置的高度值百分比不生效时,浏览器会根据其子元素来确定父元素的高度,所以当无法根据获取父元素的高度,也就无法计算自己高度。 换句话说,父元素的高度只是一个缺省值:height: auto;。当你要求浏览器根据这样一个缺省值来计算百分比高度时,只能得到undefined的结果,也就是一个null值,浏览器不会对这个值有任何的反应。

html 的父元素可以理解成window,浏览器会将html填充填充完一个浏览器窗口。 设置html的height为具体的像素值,当其值大于浏览器窗口时,浏览器出现滚动条,当其值小于浏览器窗口时,同样会将html填充完整个浏览器窗口(可以设置背景测试)。设置html的height为百分比时,当其值大于100%出现滚动条,当小于100%时同样会将html填充完整个浏览器窗口(可以设置背景测试)。 但是子html的子元素的高度设置成百分比时,会按照html设置的高度值计算比例。

对于body的设置的高度小于浏览器窗口时,同样会填充满整个浏览器窗口(可以设置背景测试),但是其子元素的高度设置成百分比时,会按照body设置的高度值来计算比例。

<!doctype html>
<html  style="height:50%; background-color:#9F0">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body   style="height:100%; ">
 <div style="height:100%; background-color:#FFF" >
 html的高度设置成小于浏览器窗口高度,但是仍然填充满整个浏览器窗口,但是其子元素的高度设置成百分比时,会按照父元素设置的高度值来计算比例。
  </div>
</body>
</html>

<!doctype html>
<html  style="height:50%; ">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body   style="height:100%; background-color:#9F0">
 <div style="height:100%; background-color:#FFF" >
 body的高度设置成小于浏览器窗口高度,但是仍然填充满整个浏览器窗口,但是其子元素的高度设置成百分比时,会按照父元素设置的高度值来计算比例。
  </div>
</body>
</html>

<!doctype html>
<html  style="height:150%; ">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body   style="height:100%; background-color:#9F0">
 <div style="height:100%; background-color:#FFF" >
 html的高度设置成大于浏览器窗口高度,会出现滚动条。
  </div>
</body>
</html>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body   style="height:50%; background-color:#9F0">
 <div style="height:100%; background-color:#FFF" >
   由于html没有设置高度,在body上面设置height:50%,未达到预期效果
  </div>
</body>
</html>

<!doctype html>
<html style=" height:100%">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body   style="height:50%; background-color:#9F0">
 <div style="height:100%; background-color:#FFF" >
   由于html没有设置高度,在body上面设置height:50%,未达到预期效果
  </div>
</body>
</html>

时间: 2024-11-10 21:17:00

理解height 百分比 height:100%的相关文章

height百分比以及高度自适应问题

1.  你曾经是否说想要 高度占页面或者占div百分比无效的问题,相信你也搜索过了,就是说 需要 设置父亲父亲一直到祖宗html都要设置百分比,才有效果. 总之一句话:想用百分比设置他的高度,则它的父亲中至少有一个是固定高度,不然的话 全部父亲直到祖宗html(因为html外面就是浏览器,它是有高度的)都必须设置上百分比. 当然要排除那些脱离文档流的div,比如position:absolute,fixed,可以认为他们的父级就是浏览器,所以height百分比总是有效的,因为浏览器的高度是可以直

jQuery,javascript获得网页的高度和宽度$(document).height / $(window).height

一.javascript 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body.scrollHeight 网页被卷去的

height与min-height的百分比问题和铺满屏幕的布局方法

1.height的百分比 当我们给块元素设置百分比高度时,往往没能看到效果.因为百分比的大小是相对其最近的父级元素的高的大小,也就是说,其最近的父级元素应该有一个明确的高度值才能使其百分比高度生效. <div id="container1"> <div id="wrap"> wrap's height work </div> </div> <br> <div id="container2&q

height、clientHeight、scrollHeight、offsetHeight区别

1.top 此属性仅仅在对象的定位(position)属性被设置时可用.否则,此属性设置会被忽略. 复制代码 代码如下: <div style="background-color:red; position:absolute; width:100px; height:100px;"> <p style=" position:absolute; top:-5px;">测试top</p> </div> 上面是一个段落P包含

网页上弹出pop窗口实例,(document).height()与$(window).height()的区别

#dvbg{background-color:#666666; position:absolute; z-index:99; left:0; top:0; display:none; width:100%; height:1000px;opacity:0.5;filter: alpha(opacity=50);-moz-opacity: 0.5;}        #dvpop{position:absolute;display:none;width:auto; height:auto; z-in

bug记录:IE8,包含块min-height/height共存时的高度计算bug

问题的条件有: A元素是B元素的包含块. A元素设置overflow:hidden;,并同时设置了height和min-height,同时height计算值 < min-height 原生IE8浏览器,或者IE9浏览器的IE8兼容性模式(以下统称为IE8) 期待结果: 若B元素为absolute定位元素,A元素为relative定位元素,则B元素的包含块高度为A元素的padding-edge高度 若A.B元素均为常规流定位元素,则B元素的包含块高度为A元素的content-box高度 若A元素同

[扩展]为UIView扩展x,y,width,height,centerX,centerY,Size,Origin等属性

大家应该知道如何设置一个view组件的位置把,是的,如下: view.frame=CGRectMake(x,y,width,height);//设置组件的x,y坐标,设置组件的宽度高度... 如果我单独要设置坐标或者宽度高度,得这样: view.frame.size.width=100; view.frame.size.height=100; 如果你想偷个懒,比如: view.frame.size=(CGSize){200,200};//这个语句会报错,因为无法对size赋值 通过上面的代码,大

window + document + height

jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用. 注意当浏览器窗口大小改变时(如最大化或拉大窗口后) jQuery(window).height() 随之改变,但是jQuery(document).height()是不变的. $(document).scrollTop() 获取垂直滚动的距离  即当前滚动的地方的窗口顶端到整个页面顶端的距离$(document).scrollLe

jQuery的height()和JavaScript的height总结,js获取屏幕高度

jquery的各种高度 首先来说一说$(document)和$(window),如下: $(document).height();//整个网页的高度 $(window).height();//浏览器可视窗口的高度 $(window).scrollTop();//浏览器可视窗口顶端距离网页顶端的高度(垂直偏移) 用一句话理解就是:当网页滚动条拉到最低端时, $(document).height() == $(window).height() + $(window).scrollTop(). 注意,