Web课程学习笔记--CSS盒模型

CSS 盒模型

盒模型

网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。
这些属性我们可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子也就是能装东西的一种箱子,也具有这些属性,所以叫它盒子模式。
CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型。

盒模型中的边框

盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。
如下面代码为 div 来设置边框粗细为 2px、样式为实心的、颜色为红色的边框:

css 复制代码
div{ border:2px  solid  red;}

上面是 border 代码的缩写形式,可以分开写:

css 复制代码
div{
    border-width:2px;
    border-style:solid;
    border-color:red;
}
  • 注意

border-style(边框样式)常见样式有:
dashed(虚线)| dotted(点线)| solid(实线)。
border-color(边框颜色)中的颜色可设置为十六进制颜色,如:
border-color:#888;//前面的井号不要忘掉。
border-width(边框宽度)中的宽度也可以设置为:
thin | medium | thick(但不是很常用),最常还是用象素(px)。
现在有一个问题,如果有想为 p 标签单独设置下边框,而其它三边都不设置边框样式怎么办呢?css 样式中允许只为一个方向的边框设置样式:

复制代码
div{border-bottom:1px solid red;}

同样可以使用下面代码实现其它三边(上、右、左)边框的设置:

css 复制代码
border-top:1px solid red;
border-right:1px solid red; 
border-left:1px solid red;

宽度和高度

盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以里的内容范围。
因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

填充

元素内容与边框之间是可以设置距离的,称之为"填充"。填充也可分为上、右、下、左(顺时针)。如下代码:

css 复制代码
div{padding:20px 10px 15px 30px;}

顺序一定不要搞混。也可以分开写上面代码。
如果上、右、下、左的填充都为10px;可以这么写

css 复制代码
div{padding:10px;}

如果上下填充一样为10px,左右一样为20px,可以这么写:

css 复制代码
div{padding:10px 20px;}

边界

元素与其它元素之间的距离可以使用边界(margin)来设置。边界也是可分为上、右、下、左。如下代码:

css 复制代码
div{margin:20px 10px 15px 30px;}

也也可以分开写。
如果上右下左的边界都为10px;可以这么写:

css 复制代码
div{ margin:10px;}

如果上下边界一样为10px,左右一样为20px,可以这么写:

css 复制代码
div{ margin:10px 20px;}

总结一下:padding和margin的区别,padding在边框里,margin在边框外。

本文转载自 陈浩的个人博客,《CSS 盒模型》

相关推荐
IT_陈寒12 分钟前
Java性能优化:从这8个关键指标开始,让你的应用提速50%
前端·人工智能·后端
天生我材必有用_吴用14 分钟前
Vue3+Node.js 实现大文件上传:断点续传、秒传、分片上传完整教程(含源码)
前端
大筒木老辈子26 分钟前
Linux笔记---协议定制与序列化/反序列化
网络·笔记
摸鱼的春哥30 分钟前
前端程序员最讨厌的10件事
前端·javascript·后端
草莓熊Lotso33 分钟前
【C++】递归与迭代:两种编程范式的对比与实践
c语言·开发语言·c++·经验分享·笔记·其他
我爱挣钱我也要早睡!3 小时前
Java 复习笔记
java·开发语言·笔记
牧羊狼的狼5 小时前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
知识分享小能手6 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
魔云连洲6 小时前
深入解析:Vue与React的异步批处理更新机制
前端·vue.js·react.js
mCell7 小时前
JavaScript 的多线程能力:Worker
前端·javascript·浏览器