對於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兩條。