border-box和content-box最直觀的區別和解釋


1.content-box(標准盒模型)

Chrome瀏覽器box-sizing默認是content-box,content-box就是元素的width和height決定了元素的寬高,這意味着元素的border和padding等不能算在元素的width和height中 ,padding和border的改變不能改變width和height的值。

代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href=""/>
        <style type="text/css">
            .border-box{
                height: 100px;
                width: 300px;
                padding: 20px;
                background: skyblue;
                box-sizing: content-box;
            }
        </style>
    </head>
    <body>
        <div class="border-box">這是content-box的高度</div>
        <div class="border-box">這是content-box的高度</div>
        <div class="border-box">這是content-box的高度</div>
    </body>
</html>

控制台元素結構如下:

2.border-box(怪異盒子)

border-box就是用元素內容和padding和border一起決定width和height,啥意思,就是width和元素的內容以及padding和border相互制約。下面用幾句話簡潔解釋一下。

width和height改變,paddign和border不改變時,元素內容的寬高會發生相應的改變,改變的值就是width和height改變的值。
paddign和border改變,width和height不改變時,元素內容的寬高會發生相應的改變,改變的值就是width和height改變的值。

元素內容的寬高等於:元素的寬高 - ( border + padding )

代碼: 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href=""/>
        <style type="text/css">
            .border-box{
                height: 100px;
                width: 300px;
                padding: 20px;
                background: skyblue;
                box-sizing: border-box;
            }
        </style>
    </head>
    <body>
        <div class="border-box">這是border-box的高度</div>
        <div class="border-box">這是border-box的高度</div>
        <div class="border-box">這是border-box的高度</div>
    </body>
</html>

控制台元素結構:

 


免責聲明!

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



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