由淺入深漫談margin屬性

2021-05-25 01:07:32 字數 2088 閱讀 1934

blankzheng的blog:

一、margin的基本特性

margin屬性包括margin-top,margin-right,margin-bottom,margin-left,margin,可以用來設定box的margin area。屬性margin可以用來同時設定box的四邊外邊距,而其他的margin屬性只能設定其自各的外邊距。

margin屬性可以應用於幾乎所有的元素,除了**顯示型別(不包括 table-caption, table and inline-table)的元素,而且垂直外邊距對非置換內聯元素(non-replaced inline element)不起作用。

或許有朋友對非置換元素(non-replaced element)有點疑惑,稍微幫助大家理解一下。非置換元素,w3c中沒有給出明確的定義,但我們從字面可以理解到,非置換元素對應著置換元素(replaced element),也就是說我們搞懂了置換元素的含義,就懂了非置換元素。置換元素,w3c中給出了定義:

引用:

從定義中我們可以理解到,置換元素(replaced element)主要是指img,input,textarea,select,object等這類預設就有css格式化外表範圍的元素。進而可知,非置換元素(non-replaced element)就是除了img,input,textarea,select,object等置換元素以外的元素。

margin始終是透明的。

二、margin的基本寫法

外邊距的margin-width的值型別有:auto | length | percentage

percentage:百分比是由被應用box的containing block(注:乙個元素的containing block是該元素產生的box(es)在計算位置和大小時參考的乙個矩形,詳細閱讀可看:《containing block》)的大小所決定。對於margin-top和margin-bottom也同樣成立。

margin的預設值為0,並且margin支援負值。

上面我們曾提到屬性margin可以用來同時指定box的四邊外邊距。如果屬性margin有四個值,那麼值將按照上-右-下-左的順序作用於四邊,即從元素的上邊開始,按照順時針的順序圍繞元素。表示式如下:

margin:top right bottom left;

四個數值中間以空格分隔。效果等同於:

margin-top:value;

margin-right:value;

margin-bottom:value;

margin-left:value;

並且規範還提供了省略的數值寫法,基本原則如下:

引用:

1.如果沒有left值,則使用right代替;

2.如果沒有bottom值,則使用top代替;

3.如果沒有right值,則使用top值代替。

根據這些基本原則,我們可以有三種省略方式,但不管怎樣省略margin的數值都會大於等於乙個,而margin的預設數值是從top開始至left結束,那麼對於省略的具體情況,我們可以從left反推理回去。

1.如果margin只有三個值,按照值的順序為margin:top right bottom; 缺少了left,根據原則,則left的值有right來代替。

margin:10px 20px 30px;就等於margin:10px 20px 30px 20px;

2.如果margin只有兩個值,按照值的順序為margin:top right; 缺少了bottom和left,根據原則left的值由right來代替,bottm的值由top來代替。

margin:10px 20px;就等於margin:10px 20px 10px 20px;

3.如果margin只有乙個值,按照值的順序為margin:top; 缺少了bottom、left和right,根據原則left的值由right來代替,bottom的值由top來代替,right的值右top來代替,也就是說left的值也由top來代替。

margin:10px;就等於margin:10px 10px 10px 10px;

出處:藍色理想

◎進入論壇網頁製作、**綜合版塊參加討論

由淺入深漫談margin屬性

margin 在中文中我們翻譯成外邊距或者外補白 本文中引用外邊距 他是元素盒模型 box model 的基礎屬性。一 margin的基本特性 margin 屬性包括 margin top,margin right,margin bottom,margin left,margin,可以用來設定 bo...

由淺入深漫談margin屬性

blankzheng的blog http www.planabc.net margin在中文中我們翻譯成外邊距或者外補白 本文中引用外邊距 他是元素盒模型 box model 的基礎屬性。一 margin的基本特性 margin屬性包括margin top,margin right,margin b...

由淺入深漫談margin屬性

blankzheng的blog margin在中文中我們翻譯成外邊距或者外補白 本文中引用外邊距 他是元素盒模型 box model 的基礎屬性。一 margin的基本特性 margin屬性包括margin top,margin right,margin bottom,margin left,mar...