盒模型

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

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

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

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

看看代码:

<!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

最新文章

  1. SQL Server-分页方式、ISNULL与COALESCE性能分析(八)
  2. 浅谈Java中的equals和==
  3. Python 小游戏 Bunny
  4. iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
  5. C++ algorithm 里的sort函数应用
  6. oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性
  7. 使CSS3样式在IE里面有效果
  8. Mongodb安装和配置
  9. 记录下关于SQL Server的东西
  10. Android 玩转IOC,Retfotit源码解析,教你徒手实现自定义的Retrofit框架
  11. 知名IT公司的年度大会合集
  12. python学习小总结(列表、元组、字典、集合、字符串)
  13. 解决tomcat同时部署两个SpringBoot应用提示InstanceAlreadyExistsException
  14. c# 服务
  15. 对Rethinking ImageNet Pre-training的理解
  16. Oracle 故障整理
  17. Codeforces Beta Round #46 (Div. 2)
  18. Eclipse的个性化设置
  19. centos7.3下curl支持https协议
  20. 【前端开发】禁止微信内置浏览器调整字体大小的方法js

热门文章

  1. STOMP
  2. 西安OpenParty11月29日活动高清图文回顾——新增西安APEC蓝美图!
  3. Android项目实战(三十二):圆角对话框Dialog
  4. Android系统启动流程(一)解析init进程启动过程
  5. servlet及jsp之间的请求转发
  6. Dell XPS 13 9306安装 macOS 10.12.6
  7. SQLserver 还原数据库报“指定转换无效”的错的解决方案
  8. C# Aspose.Cells方式导入Excel文件
  9. Red5视频流服务器安装
  10. Linux下的进程类别(内核线程、轻量级进程和用户进程)--Linux进程的管理与调度(四)