CSS 如果不给body标签设置大小,那它默认的宽度好高度是多少,并且是居中的吗?

html-css013

CSS 如果不给body标签设置大小,那它默认的宽度好高度是多少,并且是居中的吗?,第1张

默认高度是没有的,不过由于浏览器本身的bug,如果不用css样式定义body的margin:0,则会大概有2个像素下移。

默认不是居中的,是居左的,用下面这个可以让让居中。

body{margin:0

auto}

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

div的100%是从其上一级div的宽高继承来的,有一点很关键,就是要设置div100%显示,必须设置其上一级div的宽度或高度,否则无效。

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