CSS--盒子模型詳解


目錄

一、圖解

      說明:由內而外依次是content、padding(內邊距)、border(邊框)、margin(外邊距)。

      舉個例子:一個快遞車里放了許多快遞包裹(盒子包裝的),每個包裹里面又放了不同的東西。

      content:真正容納其他東西的區域。比如快遞車的content,就是那些包裹所處的那個空間;

                   而每個包裹的content,就是那些東西所處的空間。 

                    content里面可以放置 其他元素、文本、圖片等

      border: 盒子的邊框。比如快遞車的那個鐵皮,包裹外層的那個盒子。  

                    可以指定邊框的顏色、粗細(width)、樣式等。

      padding:content到border之間的距離。

      margin: 包裹和包裹之間的距離。這個距離可以是負的,因為可以相互疊加。

      注意事項:由於各個瀏覽器會對元素的margin、padding值進行不同值的初始化。

                    所以每次寫樣式時,需要對頁面內涉及到的元素進行初始化      

/* 將當前頁面內涉及的元素表簽列出來 */ body,div,span{ margin:0px; padding:0px;
}

 

二、盒模型尺寸基准

     默認情況下,設置一個元素的width、height,其實設置的就是content的寬度和高度。

     Q:那這個元素的實際寬度、實際高度是多少呢?

     A:實際寬度=左margin + 左border + 左padding + content + 右padding + 右border + 友margin ;實際高度同理。

 

     Q:那么問題來了,我如果想直接設置某個元素的實際高度怎么辦呢?

     A:CSS3新增加了一個屬性box-sizing就是用來解決這個問題。它有三個值:content-box、border-box、inherit。

          content-box:就是通常的默認情況,指的是content的高度、寬度。

          border-box :字面意思不難看出,指的就是border以內(包含border)的高度、寬度。

                 inherit:從父級元素繼承box-sizing屬性的值。

 

三、使用瀏覽器的開發者工具,查看元素高(寬)度時,遇到的問題

      使用谷歌瀏覽器審查元素功能時,它會職能的提示出當前元素的高度、寬度。但經過計算元素的實際高度、寬度,發現與提示的信息不一致。      

<style> div { width: 200px; padding: 20px; border: 1px solid red; margin: 10px;           
        }
</style>

<div>文本內容</div>

      通過計算得出,div的實際寬度= 10 + 1 + 20 + 200 + 20 + 1 + 10 = 262px;  

      而開發者工具展示出來的結果為242px,差了20px;

      

      通過調整不同參數,最后得出結論為: 審查元素計算出來的結果是不包括 margin值的。

         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM