对于css的继承有不了解的同窗,我首先声明一下:css
块级元素:spa
①老是在新行上开始;.net
②高度,行高以及外边距和内边距均可控制;blog
③宽度缺省是它的容器的100%,除非设定一个宽度。继承
④它能够容纳内联元素和其余块元素图片
内联级元素:get
①和其余元素都在一行上;it
②高,行高及外边距和内边距不可改变;io
③宽度就是它的文字或图片的宽度,不可改变table
④内联元素只能容纳文本或者其余内联元素
其实,就是没有什么差别,好比,咱们彻底能够把内联元素加上display:block这样的属性,让他也有每次都重新行开始的属性即成为块元素,一样咱们能够把块元素加上display:inline这样的属性,让他也在一行上排列。
固然,有些元素是可变的,他会随紧跟的元素改变它的性质。
继承的性质
以后咱们还有明白一个道理,就是继承性。有些属性是没有继承性的,因此也谈不上继
承的性质。譬如:margin、border、padding、background、height、min-height、max-
height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-
index、float、clear、table-layout、vertical-align····
可是,咱们能够参考父元素的标准。
例如:width:100%就要参考父元素了!
width:100%的举例
对于不存在其它关系的嵌套,width:100%是直接基于父级DIV的宽度(宽度要指定)。
对于使用position:relative的子类元素而言,width:100%也始终是基于基父级元素而并
不会基于其上层元素中的relative。
对于绝对定位的子无素,要是其外层的全部元素中都没有用position:relative,则width:100%是基于body,不然就是离基最近的一个position:relative的元素。
而对于position:fixed的元素,其一直是基于body,因此其宽度100%就是基于body。
内层子元素必须为块级元素,才有可能出现宽度继承
当父元素宽度肯定,子元素不存在浮动,绝对定位,固定定位时,其宽度也可以很好的继承;相反,宽度会零(只有经过里面的内容把其撑开)。
当父元素宽度不肯定时(宽度是继承而来,或是用的相对单位),不会对继承形成什么影响。其仍然知足上面的一、2两条。