CSS基礎(四):盒模型

CSS盒模型css

HTML文檔中能夠將每一個元素都看做是長方形的盒子。而CSS盒模型規定了元素框處理元素內容content、內邊距padding、邊框border和外邊距margin的方式。下圖是W3C對於盒模型的描述圖。html

使用Firebug,能夠輕鬆地查看到盒子的佈局大小。佈局

盒子自己的大小是這樣計算的:url

width: width + padding-left + padding-right + border-left + border-rightspa

height: height + padding-top + padding-bottom + border-top + border-bottomcode

 

靜態定位或相對定位的盒子htm

當放置一個塊級元素於頁面上時,而且不設置它的定位屬性(relative,absolute,fixed),即position:static,或者設置了position:relative的狀況下,塊的寬度是延伸自動填充滿它的父元素的寬度區域。blog

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>盒子模型</title>
    <style type="text/css">
      .box1
        { 
            background:black;
            color:White;
            height:100px;
            padding:10px;
            border:20px solid Red;
            margin:30px;
        }
    </style>
  </head>

  <body>
    <h2>靜態定位和相對定位的盒子</h2>
    <div class="box1">靜態定位和相對定位的盒子</div>
  </body>
</html>

注意上面的盒子是沒有聲明寬度的,因此默認寬度爲100%,padding 和 border 會向內推進,而不是向外擴展。utf-8

可是當聲明寬度後,那麼 padding 就會向外延展。文檔

 

浮動和絕對定位的盒子

設置浮動float元素和絕對定位元素,他們的結果卻偏偏相反,他們會收縮以至包裹緊貼內容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>盒子模型</title>
    <style type="text/css">
      .box1
        { 
            background:black;
            color:White;
            height:100px;
            padding:10px;
            border:20px solid Red;
            margin:30px;

            position:absolute;
        }
    </style>
  </head>

  <body>
    <h2>浮動和絕對定位的盒子</h2>
    <div class="box1">浮動和絕對定位的盒子</div>
  </body>
</html>

 

親眼目擊一下

想看看組成頁面的每一個單獨的「盒子」嗎?試着把這行代碼暫時放入樣式表:

* { border: 1px solid red !important; }

 

 

做者: ForEvErNoME
出處: http://www.cnblogs.com/ForEvErNoME/
歡迎轉載或分享,但請務必聲明文章出處。若是文章對您有幫助,但願你能 推薦關注
相關文章
相關標籤/搜索