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>
控制台元素結構: