学习CSS布局 - 盒模型

盒模型解析
本文详细解释了CSS盒模型的概念,展示了如何通过实例理解元素宽度、边框及内边距对元素展示的影响,并提供了一种不再依赖繁琐数学计算来精确设置元素尺寸的方法。

盒模型

在我们讨论宽度的时候,我们应该讲下与它相关的另外一个重点知识:盒模型

当你设置了元素的宽度,实际展现的元素却超出你的设置:

这是因为元素的边框和内边距会撑开元素。

看下面的例子,两个相同宽度的元素显示的实际宽度却不一样。

 

看看代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒模型</title>
    <style>
        .simple {
            width: 400px;
            height: 200px;
            border: 1px solid red;
            margin: 20px auto;
        }

        .fancy {
            width: 400px;
            height: 200px;
            border: 1px solid red;
            margin: 20px auto;
            padding: 10px;
        }
    </style>
</head>
<body>
   <div id="simple" class="simple">
       我小一些哦
   </div>
   <div id="fancy" class="fancy">
       我比他大点
   </div>

   <script>
       var oDiv1 = document.querySelector('#simple');
       console.log(oDiv1.offsetWidth, oDiv1.offsetHeight);
       var oDiv2 = document.querySelector('#fancy');
       console.log(oDiv2.offsetWidth, oDiv2.offsetHeight);
   </script>
</body>
</html>

根据输出来的结果,或者盒子模型就知道,offsetWidth就是自身宽度+border的宽度+padding的内边距,高度同理。

 

以前有一个代代相传的解决方案是通过数学计算。

CSS开发者需要用比他们实际想要的宽度小一点的宽度,需要减去内边距和边框的宽度。

值得庆幸地是你不需要再这么做了...

 

原文地址:http://zh.learnlayout.com/box-model.html

转载于:https://www.cnblogs.com/sorrowx/p/6801177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值