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

相关推荐
烛阴4 分钟前
从零开始掌握C#核心:变量与数据类型
前端·c#
han_9 分钟前
前端高频面试题之Vuex篇
前端·vue.js·面试
qq_4152162532 分钟前
vue3搭建项目yarn+vue3+webpack+less+element-plus
前端·webpack·less
天天向上102434 分钟前
VueUse的使用
前端·vue.js·vscode
蒙奇D索大1 小时前
【算法】 递归实战应用:从暴力迭代到快速幂的优化之路
笔记·考研·算法·改行学it
9ilk1 小时前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调
linux·服务器·c++·分布式·学习·rabbitmq
('-')1 小时前
《从根上理解MySQL》第一章学习笔记
笔记·学习·mysql
猪猪拆迁队2 小时前
前端图形引擎架构设计:双引擎架构设计
前端·后端·架构
d111111111d2 小时前
STM32外设学习-串口发送数据-接收数据(笔记)
笔记·stm32·学习
Elias不吃糖2 小时前
eventfd 初认识Reactor/多线程服务器的关键唤醒机制
linux·服务器·c++·学习