1. 程式人生 > >第7章 css3盒模型

第7章 css3盒模型

情況 source 大小 但是 多行 即使 bottom 行內元素 顯示

diasplay:none;與visibility:hidden;的區別

diasplay:none;在瀏覽時保留位置,(為隱藏對象保留物理空間)
visibility:hidden; 視為不存在,且不加載(不為隱藏對象保留物理空間)

outline與border的對比

  1. outline創建的輪廓線不影響文檔流,也不破壞網頁布局;border影響元素盒子的大小;
  2. outline創建的輪廓線在元素各邊都一樣,無outline-top之類的
  3. border創建的元素邊框可以單邊設置,outline創建的輪廓線始終閉合
  4. outline創建的外輪廓線可以是非矩形的;若元素多行,外輪廓線能包含該元素所有框的外輪廓,border能使用一個邊框包括整個元素
  5. border只能向外拓展,outline可以通過outline-offset的值向內向外創建輪廓

block,inline和inline-block概念和區別

  1. block元素通常被現實為獨立的一塊,會單獨換一行;
  2. inline元素則前後不會產生換行,一系列inline元素都在一行內顯示,直到該行排滿。
  3. block元素可以包含block元素和inline元素;但inline元素只能包含inline元素。要註意的是這個是個大概的說法,每個特定的元素能包含的元素也是特定的,所以具體到個別元素上,這條規律是不適用的。

block,inline和inlinke-block細節對比

    1. display:block block元素會獨占一行,多個block元素會各自新起一行。默認情況下,block元素寬度自動填滿其父元素寬度。
      block元素可以設置width,height屬性。塊級元素即使設置了寬度,仍然是獨占一行。
      block元素可以設置margin和padding屬性。
    2. display:inline inline元素不會獨占一行,多個相鄰的行內元素會排列在同一行裏,直到一行排列不下,才會新換一行,其寬度隨元素的內容而變化。 inline元素設置width,height屬性無效。 inline元素的margin和padding屬性,水平方向的padding-left, padding-right, margin-left, margin-right都產生邊距效果;但豎直方向的padding-top, padding-bottom, margin-top, margin-bottom不會產生邊距效果。
    3. display:inline-block 簡單來說就是將對象呈現為inline對象,但是對象的內容作為block對象呈現。之後的內聯對象會被排列在同一行內。比如我們可以給一個link(a元素)inline-block屬性值,使其既具有block的寬度高度特性又具有inline的同行特性。

第7章 css3盒模型