目录

前言:

盒子

1.内容区域

2. 边框

3. 内边距区域

4. 外边距区域(margin)

怪异盒模型


前言:

前面我们学习了CSS中的选择器的使用方法,那这一节我们就学习CSS中的盒模型,通过盒模型我们可以去更好的对界面进行排版处理。

盒子

CSS中我们可以将元素看出成一个个矩形盒子,对于页面的布局就是将不同盒子放在不同的位置。CSS中规定每个盒子分别由:内容区域、内边距区域、边框区域、外边距区域构成。实际上整一个网页我们都可以看做为一个盒子。

下面我就一一讲解盒子的这4个组成部分。

1.内容区域

内容区是整个盒子模型的中心,其中存放了盒子的主要内容,这些内容可以是文本、图像等资源。内容区有 width、height、overflow 三个属性,其中 width 和 height 属性用来指定盒子内容区域的宽度和高度,当内容信息过多,超出内容区所设置的范围时,则可以使用 overflow 属性设置溢出内容的处理方式,overflow 属性有四个可选值:

元素里面的所有子元素和文本内容都是在内容区域里面排列的,默认显示在左上角

  • hidden:表示隐藏溢出的部分;

  • visible:表示显示溢出的部分(溢出的部分将显示在盒子外部);

  • scroll:表示为内容区添加一个滚动条,您可以通过滑动这个滚动条来查看内容区的全部内容;

  • auto:表示由浏览器决定如何处理溢出部分。

内容区域实际上就是标签体内容,前面我们看过了很多示例了,比如下面这个CSS示例:

div {width: 100px;height: 100px;background-color: red; /*添加背景色以便于观察*/
}

注意:这里设置的宽度和高度实际上是指内容区域的宽度和高度,并不是等同于盒子的宽度和高度! 

2. 边框

边框是环绕内容区和内边距的边界,你可以使用 border-style、border-width 和 border-color 以及它们的简写属性 border 来设置边框的样式。其中 border-style 属性为边框中最主要的属性,如果没有设置该属性的话,其它的边框属性也会被忽略。

边框的三要素:边框的粗细 边框的样式 边框的颜色

样式如下:

描述
none 默认:无边框。
solid 定义实线
dotted 点状边框
dashed 虚线
double 双线

示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./index.css">
</head>
<body><!--边框  -->
<div style="height: 200px;width: 200px;
border: 4px dotted red;">
<strong>祝各位学弟学妹们高考加油!</strong>
</div>
</body>
</html>

效果:

还有,边框分为4部分,上下左右,我们可以对这四个部分分别设置,如下所示:

/* 设置上边框线 */
border-top: 样式 粗细 颜色;
/* 设置下边框线 */
border-bottom: 样式 粗细 颜色;
/* 设置左边框线 */
border-left: 样式 粗细 颜色;
/* 设置右边框线 */
border-right: 样式 粗细 颜色;
/* 再细分 */
border-bottom-color: blue;
border-bottom-style: dotted;
border-bottom-width: 3px;
border-left-color: red;

下面看个例子:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./index.css">
</head>
<body><!--边框  -->
<div style="height: 200px;width: 200px;
border-top: 4px dotted red;
border-right: 10px blue double;
border-left: 2px greenyellow dashed;
border-bottom: 5px purple solid;">
<strong>祝各位学弟学妹们高考加油!</strong>
</div>
</body>
</html>

效果:

3. 内边距区域

内边距是内容区和边框之间的空间,你可以通过 padding-top、padding-right、padding-bottom、padding-left 以及它们的简写属性 padding 来设置内容区各个方向上与边框之间的距离。

下面这个视频就可以看到内边距的动态变化,padding.

1686038277875

取值 示例 含义
一个值 padding: 10px 上下左右都设置为10px
两个值 padding: 10px 20px 上下设置为10px,左右设置为20px
三个值 padding: 10px 20px 30px 上设置为10px,左右设置为20px,下设置为30px
四个值 padding: 10px 20px 30px 40px 上设置为10px,右设置为20px,下设置为30px,左设置为40px

4. 外边距区域(margin)

外边距位于盒子模型的最外围,是边框之外的空间,通过外边距可以使盒子与盒子之间不会紧凑的连接在一起,是CSS布局中的一种重要手段。我们可以使用 margin-top、margin-bottom、margin-left、margin-right 以及它们的简写属性 margin 来设置各个方向上外边距的宽度。 外边距的话,我们可以理解为一个空气墙,也就是盒子与盒子之间的距离。

示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./index.css">
</head>
<body><!--边框  -->
<div style="height: 200px;width: 200px;
border: 4px dotted red;
padding: 20px;
color: aqua;
margin: 30px;">
<strong>祝各位学弟学妹们高考加油!</strong>
</div>
</body>
</html>

效果如下:

图片上面橙黄色部分就是margin的范围了。

怪异盒模型

与标准盒模型的不同的就是怪异盒模型,上面讲到的内容是标准盒模型的内容,而怪异盒模型不同的是盒子的计算方式。对于标准盒模型,当我们设置了宽度和高度的时候,这里的宽度和高度值的是内容区域的宽度和高度,如果我们去添加的padding或者border的时候内容区域的宽度和高度不会改变;而对于怪异盒模型的话,我们设置的宽度和高度是指定盒子的宽度和高度,当我们去添加的padding或者border的时候,内容区域的范围会被压缩。

示例:

这个是标准盒模型的代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./index.css">
</head>
<body><div style="width: 200px;height: 200px;background-color: aquamarine;padding: 20px;border: 4px solid rebeccapurple;">长风破浪会有时,直挂云帆济沧海。</div>
</body>
</html>

效果如下:

这里我们可以看出长度和宽度都是248x248的,所以我内容区域设置的宽度和高度都是没有变化的 都是200x200。

下面是怪异盒模型的代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./index.css">
</head>
<body><div style="width: 200px;height: 200px;background-color: aquamarine;padding: 20px;border: 4px solid rebeccapurple;box-sizing: border-box;">  <!-- 上面跟标准盒模型不同的是添加了   box-sizing: border-box;-->长风破浪会有时,直挂云帆济沧海。</div>
</body>
</html>

效果如下:

这里我们可以看出当我们添加了box-sizing: border-box 的时候意思是盒子的大小就是当前设置的宽度和高度。此时就是一个怪异盒模型,当我们放入了padding或者border的时候,就会压缩内容区域的大小。

好了,以上就是今天的全部内容了,thanks~

分享一张壁纸: 

htmlCSS-----盒模型相关推荐

  1. CSS盒模型( CSS margin 属性)

    常见的图片 怎样理解呢看下面例如 ' 设置的属性如下 .mian_one{width: 500rpx;height: 500rpx;background: #00d8a0;}.main_two{wid ...

  2. 任务二:1、选择器 2、连接集中状态的顺序 3、浮动的用发和原理 4、盒模型在IE和Google等不同浏览器的区别与联系...

    1.选择器类型 标签选择器,类选择器,ID选择器,组合选择器,伪类和伪元素,属性选择器,子选择器,同胞选择器, :not()选择器 1.同胞选择器 相邻同胞标签: h2 + p{ color:red; ...

  3. CSS之布局(行内元素的盒模型)

    行内元素的盒模型: <!DOCTYPE html> <html><head><meta charset="UTF-8"><ti ...

  4. CSS之布局(盒模型)

    盒模型: <!DOCTYPE html> <html><head><meta charset="UTF-8"><title&g ...

  5. CSS盒模型及边距问题

    盒模型是CSS的基石之一,页面的每一个元素都被看作一个矩形框,分别由外边距,边框,内边距,内容组成, 在CSS中,width和height的值指的是内容的宽高,增加外边距,边框,内边距并不会对内容造成 ...

  6. 新盒模型移动端的排版

    这里采用的是新盒模型来进行排版: <div class="mytest"> <header></header> <section>& ...

  7. (转)详解css3弹性盒模型(Flexbox)

    今天刚学了css3的弹性盒模型,这是一个可以让你告别浮动.完美实现垂直水平居中的新特性. Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flexbox布局的主体思想是似 ...

  8. 盒模型,块状元素,行内元素

    盒子模型: css盒模型分为两种,一种是遵循w3c标准的标准盒模型,另一种是IE盒模型. 标准盒子模型 IE盒子模型 通过上面两张图可以看出,两种盒子模型都包括padding,margin,borde ...

  9. 网页中的盒模型css属性,详解CSS中的Box Model盒属性的使用

    页面上显示的每个元素(包括内联元素)都可以看作一个盒子,即盒模型( box model ).请看 Chrome DevTools 里的截图: 可以显而易见的看出盒模型由 4 部分组成.从内到外分别是: ...

  10. CSS3弹性盒模型之box-orient box-direction

    Css3引入了新的盒模型--弹性盒模型,其实上一篇文章已经讲到了一个box-flex,今天来讲讲另外的两个弹性盒模型属性box-orient 和 box-direction. 1.box-origen ...

最新文章

  1. HTML DOM Element 对象
  2. c++语言编辑简单的计算器,c++编写简单的计算器程序
  3. 【Linux开发】linux设备驱动归纳总结(十二):简单的数码相框
  4. 阿里打造全球首个纯机器人送货高校,22个物流机器人进入浙大备战双11
  5. 计算机动漫游戏制作 巴中,四川省哪些中专学校有计算机动漫与游戏制作专业...
  6. CVX学习笔记(转载
  7. 目标检测之SSD数据处理、训练与预测流程记录
  8. 一个不完全恢复的疑惑?
  9. div+css 怎么让一个小div在另一个大div里面 垂直居中
  10. java日志分级概要
  11. Python-C语言语法解析:pycparser模块
  12. error: Exited sync due to fetch errors
  13. 快速pow算法c语言_c语言pow(c语言中用pow算法求)
  14. 【数据分析】重要环节--缺失值怎么处理
  15. Ubuntu安装OpenGL
  16. MySQL 管理之道读书总结
  17. 易语言-post登陆百度
  18. 华三模拟器:实现路由器接口使用dhcp获取地址
  19. 计算机二级MSoffice
  20. 解决npm安装包安装不上的几个方法

热门文章

  1. 部署kubeedge-temperature-demo 示例亲测成功
  2. iOS界面设计,12个优秀案例激发你的灵感
  3. 制作启动U盘的工具----Ventoy
  4. 微服务架构问题的陈词滥调终于要被清除了!
  5. 【C语言】判断素数的方法
  6. 余弦相似性 Cosine-Similar
  7. 机械回转式布袋除尘器 斜纹卷纸管机 F400粉碎机 CAD自动厢式压滤机总装 橡胶真空过滤机-8 井下煤矿可伸缩皮带输送机 NXZ18浓缩机 可伸缩带式输送机 滚筒输送机 刮板提升机和检果机……设计
  8. Mysql,日志文件
  9. matlab 帕多瓦数列 通项公式_斐波那契数列通项公式的函数图像(复数域)
  10. Firefox 扩充套件介绍