核心原理;
height:100%这个概念是子节点相对于父容器而言;所以要让此属性生效,必要的一点就是:父容器必须具有具体的高度信息;
直接在的子节点(如div中)写height:100%是不会生效的,因为此时的高度是不确定的,默认是auto;
方法一
给从根的父容器到子容器的所有容器都设置好百分比高度信息
比如:
[html] view plain copy
132
这样从根的Html开始,到字的div结束,全部都具有百分比高度,这样,就都能够获取到高度信息;
方法二
给父容器设置具体的高度信息;
比如直接写死在样式中,或者用javascript来设置;
示例,用js使得到高度,从而使其中的div全屏:
[html] view plain copy
132
varscreenHeight=document.documentElement.clientHeight
varscreenWidth=document.documentElement.clientWidth
varbody=document.getElementById('body')
body.style.width=screenWidth+"px"
body.style.height=screenHeight+"px"
方法三
给父容器设置位置信息,让其得到高度信息;
示例,用css使body得到高度,从而使其中的div全屏:
[html] view plain copy
132
答案是:除了height以外的样式,padding,margin中的百分比都是相对于父元素context的宽度而非是高度。
以下是一个简单的例子:
如图child的高度是50%,padding-bottom:50%但是两者的高度是显而易见不同的;说明
基准不是同一个东西;
而100px 刚好是父元素宽度的1/2
模型html