学习CSS布局 - 盒模型
2024-09-18 11:22:24
盒模型
在我们讨论宽度的时候,我们应该讲下与它相关的另外一个重点知识:盒模型。
当你设置了元素的宽度,实际展现的元素却超出你的设置:
这是因为元素的边框和内边距会撑开元素。
看下面的例子,两个相同宽度的元素显示的实际宽度却不一样。
看看代码:
<!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
最新文章
- SQL Server-分页方式、ISNULL与COALESCE性能分析(八)
- 浅谈Java中的equals和==
- Python 小游戏 Bunny
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
- C++ algorithm 里的sort函数应用
- oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性
- 使CSS3样式在IE里面有效果
- Mongodb安装和配置
- 记录下关于SQL Server的东西
- Android 玩转IOC,Retfotit源码解析,教你徒手实现自定义的Retrofit框架
- 知名IT公司的年度大会合集
- python学习小总结(列表、元组、字典、集合、字符串)
- 解决tomcat同时部署两个SpringBoot应用提示InstanceAlreadyExistsException
- c# 服务
- 对Rethinking ImageNet Pre-training的理解
- Oracle 故障整理
- Codeforces Beta Round #46 (Div. 2)
- Eclipse的个性化设置
- centos7.3下curl支持https协议
- 【前端开发】禁止微信内置浏览器调整字体大小的方法js
热门文章
- STOMP
- 西安OpenParty11月29日活动高清图文回顾——新增西安APEC蓝美图!
- Android项目实战(三十二):圆角对话框Dialog
- Android系统启动流程(一)解析init进程启动过程
- servlet及jsp之间的请求转发
- Dell XPS 13 9306安装 macOS 10.12.6
- SQLserver 还原数据库报“指定转换无效”的错的解决方案
- C# Aspose.Cells方式导入Excel文件
- Red5视频流服务器安装
- Linux下的进程类别(内核线程、轻量级进程和用户进程)--Linux进程的管理与调度(四)