html css布局之类的问题真的让人很头疼,以前总逃避,但现在和以后的页面设计恐怕都得自己亲自上阵了,把它们彻底弄明白真的非常必要了,下面会持续的更新总结。
首先,html有两种类型的元素,行内元素和块级元素,行内元素之间可以共处一行,块级元素则单独享有一行,典型的行内元素有 a标签,块级元素有div,当然行内元素和块级元素可以通过设置display属性或是float属性相互转换。
现在总结了些html元素的默认属性,真的很重要!!!
1、行内元素默认下,它们之间共处一行,而块级元素则单独享有一行的空间
2、块级元素不设置width属性时,默认跟父元素的宽度一致,而高度由包含的内容的高度决定。
3、所有元素的边框样式默认为 border-style:none,这样尽管设置了border-width,其宽度在效果上实际还是0
4、margin 的默认值是 0,所以如果没有为 margin 声明一个值,就不会出现外边距。但是,在实际中,浏览器对许多元素已经提供了预定的样式,外边距也不例外。例如,在支持 CSS 的浏览器中,外边距会在每个段落元素的上面和下面生成“空行”。因此,如果没有为 p 元素声明外边距,浏览器可能会自己应用一个外边距。当然,只要你特别作了声明,就会覆盖默认样式。
5、行内元素的margin-top,margin-bottome,padding-top,padding-bottom默认下不起作用,除非将此元素设置为浮动,或者设置display属性为block.
6、默认情况下定位元素(包括相对定位和绝对定位)永远都会覆盖在文档流对象上(ie6以下除外),可以设置z-index来修改。另外,z-index只有跟定位元素才能起作用(position的值为非static)