`# 盒子模型

web中的每个元素都是一个盒子 盒子模型

1.1.1. Box-sizing

box-sizing有两个属性值:content-box(默认)和border-box

box-sizing

  • content-box: 实际宽度 = padding * 2 + border * 2 + width
  • border-box: 实际宽度=widthborder-box中的width包含了borderpadding.

  • margin对盒子本身的宽高并没有影响,只影响相邻的盒子。不纳入盒子的实际宽、高。


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box{
            display: inline-block;
            width: 200px;
            height: 150px;

            border: 1px solid #009cda;

            margin: 3px;
            padding: 5px;

            background: #6A7991;
        }
        .bb{
            box-sizing: border-box;
        }
    </style>
</head>
<body>

<div class="box"></div>
<div class="box"></div>
<div class="box bb"></div>
</body>
<script src="libs/jquery/dist/jquery.min.js"></script>
<script>
    console.log("content-box--"+"内容宽度:"+$(".box").width(),"盒子宽度:"+$(".box").outerWidth());
    console.log("border-box--"+"内容宽度:"+$(".bb").width(),"盒子宽度:"+$(".bb").outerWidth());
</script>
</html>

盒子

结果

对于border-box box-sizing

可见,border-box设置的是盒子的宽度。如这里的宽度为200,

width: 200px;

border: 1px solid #009cda;
padding: 5px;

内容的宽度 = 盒子宽度(200) - border * 2 - padding * 2 内容的宽度根据盒子的borderpadding的值,自动填充。这样的好处是,避免修改borderpadding值后,需要计算宽度值。

对于content-box content-box

paddingborder将影响盒子宽高

1.1.2. 标准盒子模型和IE盒子模型

标准模型

Standard_Box

总宽度= 左右margin + 左右border + 左右padding + 内容宽度width

IE模型

IE-Box

总宽度= 左右margin + width (左右border + 左右padding + 内容宽度)

阅读

Copyright © eamiear all right reserved,powered by Gitbook该文件修订时间: 2019-06-17 16:18:09

results matching ""

    No results matching ""