HTML CSS——margin和padding的學習

來源:互聯網
上載者:User

你在學習margin和padding的時候是不是懵了,——什麼他娘的內邊距,什麼他娘的外邊距。呵呵呵,剛開始我也有點不理解,後來通過查資料學習總算弄明白了,現在我來談一下自己對margin和padding的理解:

        一、什麼是邊距

        CSS中的邊距指的是當前元素border與周圍其它元素border的距離(或者稱為空白間)。

       二、什麼是內邊距,什麼是外邊距

        代碼2-1:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.     <head>  
  4.         <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />  
  5.         <style type="text/css">  
  6.             body{  
  7.                 margin:0px;  
  8.             }  
  9.   
  10.             .test1{  
  11.                 width:150px;  
  12.                 height:150px;  
  13.                 border:6px solid red;  
  14.             }  
  15.   
  16.             .test2{  
  17.                 margin-top:40px;  
  18.                 padding-top:40px;  
  19.                 width:150px;  
  20.                 height:150px;  
  21.                 border:6px solid gray;  
  22.             }  
  23.   
  24.             .test2_son{  
  25.                 width:80px;  
  26.                 height:50px;  
  27.                 border:12px solid blue;  
  28.             }  
  29.         </style>  
  30.     </head>  
  31.     <body>  
  32.         <div class="test1">test1</div>  
  33.         <div class="test2">  
  34.             <div class="test2_son">test2_son</div>  
  35.         </div>  
  36.     </body>  
  37. </html>  


圖01

        說明:圖01中灰色地帶是class值為test2的div的邊框,它是有寬度的;

        ①、外邊距:外邊距指的是margin作用元素(這裡是class值為test2的div)邊框外延距離另一個元素邊框外延(如果另一個元素和margin作用元素同級(這裡是class值為test1的div))或內延(如果另一個元素是margin作用元素父級)的距離,如;

        ②、內邊距:內邊距指的是margin作用元素(這裡是class值為test2的div)邊框內延距離其子項目邊框外延的距離,如;

        ③、內邊距和外邊距是針對於其作用的元素和其他元素來講的,某一元素的內邊距在另一個元素看來有可能是外邊距,比如:class值為testdiv的內邊距在class值為test2_test div元素看來就是外邊距,所以上面代碼也可以這樣寫:將class值為test2的div樣式列表中“padding-top:40px;”去掉,class值為test2_test div元素添加“margin-top:40px;”——這樣的效果和代碼2-1是一樣的;

        三、margin和padding的屬性值

        ①、它們的預設值都是0;它們的屬性值都可以為auto——margin作用的元素由瀏覽器計算外邊距,padding作用的元素由瀏覽器計算內邊距;都可通過設定屬性值為inherit而繼承父元素邊距——margin繼承父元素外邊距,padding繼承父元素內邊距,但由於inherit在任何的版本的 Internet Explorer (包括 IE8)都不支援,所以也就沒有學習的必要了。

        ②、margin允許指定負的外邊距值,不過使用時要小心;padding不允許指定負邊距值;

        ③、margin和padding的屬性值都可以有1個、2個、3個和4個:

                a、margin有4個屬性值(例如margin:10px 5px 15px 20px;), 其含義是:上外邊距10px、右外邊距5px、下外邊距15px、左外邊距20px;

                      padding有4個屬性值(例如padding:10px 5px 15px 20px;),其含義是:上內邊距10px、右內邊距5px、下內邊距15px、左內邊距20px;

                      總結:無論是margin還是padding,如果有4個屬性值,那麼它們的作用方向順時針  依次為上、右、下、左;

                b、margin有3個屬性值(例如margin:10px 5px 15px ;), 其含義是:上外邊距10px、右外邊距和左外邊距5px、下外邊距15px;

                      padding有3個屬性值(例如padding:10px 5px 15px;),其含義是:上內邊距10px、右內邊距和左內邊距5px、下內邊距15px;

                      總結:無論是margin還是padding,如果有3個屬性值,那麼它們的作用方向順時針  依次為上、右左、下;

                c、margin有2個屬性值(例如margin:10px 5px;), 其含義是:上外邊距和下外邊距10px、右外邊距和左外邊距5px;

                      padding有2個屬性值(例如padding:10px 5px;),其含義是:上內邊距和下內邊距10px、右內邊距和左內邊距5px;

                      總結:無論是margin還是padding,如果有2個屬性值,那麼它們的作用方向順時針  依次為上下、右左;

                d、margin有1個屬性值(例如margin:10px;), 其含義是:4 個外邊距都是 10px;

                      padding有1個屬性值(例如padding:10px;),其含義是:4 個內邊距都是 10px;

                      總結:無論是margin還是padding,如果有1個屬性值,那麼它們的邊距值都是相等的;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.