宽度 width (与高度 height )是在网页布局中经常用到的属性,但作为新手容易会对两者的定义产生误解。下面我们给出 width 与 height 的准确定义:
上述定义很清晰地指出,元素的 width 只是元素 content 内容区的宽度,不包括 padding , border , 与 margin ,即元素的 width 并不表示元素的 可视宽度 。
auto 与 text-align:center 都是在局中排版中常会用到的属性设置,他们很容易被混用,下面我们给出两者的准确定义:
因此,当我们想让一个块级元素在另一个块级元素中居中时(比如 p 在某个 div 中), text-align:center 是无效的,而可以通过设置 width:auto 或者 margin:auto 实现自动局中效果。
百分比是实现页面自适应的重要途径,而元素百分比的 宿主 到底是谁一直是令人困扰的问题。其实CSS对于百分比的定义十分明确:
至此我们发现, 包含块( containing block ) 的确切定义就显得尤为重要。有时间的情况下会在这篇中进行进一步的补充或新开一篇进行介绍。
http://blog.csdn.net/huitoukest/article/details/51375345
核心原理;
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