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 盒模型》

相关推荐
亿元程序员几秒前
箭头游戏那么火,搞个3D的可以吗?我:这不是3年前的游戏了吗?
前端
IT_陈寒2 分钟前
SpringBoot里的这个坑差点让我加班到天亮
前端·人工智能·后端
智者知已应修善业3 分钟前
【CD4022八进制计数器脉冲分配器】2023-5-31
驱动开发·经验分享·笔记·硬件架构·硬件工程
巫山老妖5 分钟前
大模型工程三驾马车:Prompt Engineering、Context Engineering 与 Harness Engineering 深度解析
前端
Cobyte10 分钟前
4.响应式系统基础:从发布订阅模式的角度理解 Vue3 的数据响应式原理
前端·javascript·vue.js
晓得迷路了12 分钟前
栗子前端技术周刊第 124 期 - ESLint v10.2.0、React Native 0.85、Node.js 25.9.0...
前端·javascript·eslint
sp_fyf_202413 分钟前
【大语言模型】从失败中学习:在微调大型语言模型作为智能体时整合负例
人工智能·深度学习·学习·机器学习·语言模型·自然语言处理
半个俗人29 分钟前
fiddler的基础使用
前端·测试工具·fiddler
秋雨梧桐叶落莳29 分钟前
【iOS】 AutoLayout初步学习
学习·macos·ios·objective-c·cocoa·xcode
青葱味奶糖30 分钟前
管理学之深度管理21法则--笔记2
笔记·深度管理·陈浩老师