HTML的盒子模型

2022-07-25 19:06:11 字數 2266 閱讀 9852

**css的padding,margin,border屬性

塊級(block-level)元素和內聯(inline)元素:

1. block-level element: 指能夠獨立存在, 一般的塊級元素之間以換行(如乙個段落結束後另起一行)分隔. 常用的塊級元素包括: p, h1~h6, div, ul等;

2. inline element: 指依附其他塊級元素存在, 緊接於被聯元素之間顯示, 而不換行. 常用的內聯元素包括: img, span, li, br等;

塊級元素是構成乙個html的主要和關鍵元素, 而任意乙個塊級元素均可以用box model來解釋說明.

1. margin: 包括margin-top, margin-right, margin-bottom, margin-left, 控制塊級元素之間的距離, 它們是透明不可見的.

2. padding: 包括padding-top, padding-right, padding-bottom, padding-left, 控制塊級元素內部, content與border之間的距離.

collapsing margins: margins摺疊現象只存在於臨近或有從屬關係的元素, 垂直方向的margin中. 文字說明可能讓人費解, 下面用乙個例子說明margin-collapsing現象.

: 在html檔案的之間寫入如下**:

在與其外聯的css檔案中寫入:

* #id1 #id2

**解釋:

1. 在html寫入的**表示, 在html中插入id分別為id1和id2的兩個塊級元素div, h1;

2. *: 使瀏覽器預設的元素padding和margin值均歸零;

3. #id1: 使id為id1的元素div的背景顏色為#333, 字型顏色為#fff, margin-top/bottom為10px;

4. #id2: 使id為id2的元素h1的字型大小為14px, verdana字型, 行高為字型高的150%, 正常粗細. margin-top/bottom為30px, 邊框為1px寬, 紅色實線.

依據以上解釋, 我們應該得到如下效果(fig. 3):

即id1的margin-top/bottom=ab=ef=10px;

id2的margin-top/bottom=bc=de=30px;

但用瀏覽器開啟html檔案, 卻得到example4的效果, 如下圖(fig. 4):

即ab=cd=30px, id1的margin-top/bottom=10px被摺疊了, 而且id1應有的margin黑色背景也一同被摺疊消失了.

為什麼會摺疊: 造成以上現象的原因是, 我們在css中並沒有宣告id為id1的元素div的height(高), 因此它的高便被設為auto(自動)了. 一旦其值被設為auto, 那麼瀏覽器就會認為它的高為子元素id2的border-top到border-bottom之間的距離, 即fig. 4中bc的長度, 所以子元素id2的margin-top/bottom(30px)就伸出到了父元素id1之外, 出現了fig. 4中ab與cd之間的空白區域. 因此父元素id1的margin-top/bottom因子元素的」紅杏出牆」而被摺疊消失了.

如何解決摺疊問題: 可能大家最初想到的辦法就是根據摺疊發生的原因—auto, 來解決問題. 但是, 在實際操作中, 某些元素如div, h1, p等, 我們是不可能預先知道它的高是多少的, 因此在css檔案中是不能常規通過宣告元素的高來解決摺疊問題.

我們需要在css檔案中加入如下**(紅色部分):

#id1

或是:#id1

通過增加以上**, 便可使瀏覽器重新計算id1的高, 使其為子元素id2的margin-top/bottom外緣(outer top/bottom)之間的距離, 即fig. 3中be的距離.

html盒子模型 jquery盒子模型

最近學了jquery的盒子模型之後,感覺真的顛覆我之前對盒子模型的看法,我在最初以為盒子模型只存在於html,我們就來看看他們有何區別。1.html盒子模型 如果說js裡面萬物皆是物件,那麼html裡面的萬物皆是盒子。不是盒子的我們也可以用dispiay block 變成盒子。那他的盒子是怎麼計算的...

html盒子模型

什麼是css的盒子模式呢?為什麼叫它是盒子?先說說我們在網頁設計中常聽的屬性名 內容 content 填充 padding 邊框 border 邊界 margin css盒子模式都具備這些屬性。這些屬性我們可以把它轉移到我們日常生活中的盒子 箱子 上來理解,日常生活中所見的盒子也具有這些屬性,所以叫...

html盒子模型

在css中有乙個需要了解的東西,那就是盒子模型,這是css看待元素的一種方式。可以說頁面就是由乙個個盒模型堆砌起來的,每個html元素都可以叫做盒模型,盒模型由外而內包括 邊距 margin 邊框 border 填充 padding 內容 content 它在頁面中所佔的實際寬度是margin bo...