【Web前端笔记08】CSS盒子模型

[08 CSS盒子模型](#08 CSS盒子模型)

1、盒子模型

2、border(边框)

3、padding(内边距)

4、margin(外边距)

5、怪异盒子

6、弹性盒模型练习


08 CSS盒子模型

1、盒子模型

标准盒子:

  • 内容(content)
  • 内边距(padding)
  • 边框(border)
  • 外边框(margin)

W3C盒子模型:

2、border(边框)

三要素:(按顺序)

  • 宽
  • 样式
  • 颜色
css 复制代码
border-style:
    	dotted;		/*点*/
    	solid ;		/* 实线 */
     	double ;	/* 双(起码要3px) */
      	none;

3、padding(内边距)

单边设置:

css 复制代码
padding-top/padding-bottom/padding-left/padding-right:value;
    /* value不能为负数,单位px,%都可以 */

简写:

css 复制代码
padding:1个值(四个方向);
上下	左右;
上   左右	下;
上  右  下  左;

4、margin(外边距)

单边设置:

css 复制代码
margin-top/margin-bottom/margin-left/margin-right:value;
    /* value不能为负数,单位px,%都可以 */

简写:

css 复制代码
margin:1个值(四个方向);
上下	左右;
上   左右	下;
上  右  下  左;

外边距合并

  • 当两个垂直外边距相遇时,他们将形成一个外边距,也就是外边距合并;
  • 合并后的外边距的高度=两个合并的外边距的高度中的较大的。

margin设置元素外边距的宽度

  • 块级元素的垂直相邻外边距会合并;
  • 允许指定负的外边距值,但是使用时需小心。
  • 浮动元素的内外边距也不会合并;
  • 行内元素实际上不占上下外边距,行内元素的左右内边距不合并;

5、怪异盒子

例如:IE的盒子模型

不同之处:

  • 宽包含了border和padding;
  • margin、border、padding、content;

组成部分:content+padding+border+margin

实际宽度 :width+margin(width包含padding+border)

css 复制代码
box-sizing:
    	content-box;		/* 标准盒子,元素实际大小=宽高+border+padding */
		border-box;		/* 怪异盒子,元素实际大小=你定义了多宽就是多宽*/

同样的定义,怪异盒子实际大小会小很多。代码

6、弹性盒模型练习

百度周边:

css 复制代码
box.css
.box{
width: 100%;
height: 200px;
background-color: deepskyblue;
/* 父元素开启弹性盒模型 子元素默认水平排列 */
 display: flex; 
 /* 设置子元素在侧轴居中,水平居中 */
 align-items: center;
}
.box>div{
flex-grow: :1;
}

style.css
html,body,div,h1,h2,h3,h4,h5,h6,dd,dt,dl,form,label,caption,tbody,tfoot,thead,tr,th,td,ul,li,p{
margin:0;
padding: 0;
}
a{
text-decoration: none;
}
body{
text-align: center;
}
img,input{
vertical-align: middle; /* 垂直居中 */
}
HTML
html 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>百度周边</title>
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="css/box.css"/>
</head>
<body>
<div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div>
<div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div><div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div><div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div><div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div>
</body>
</html>
相关推荐
其实防守也摸鱼13 分钟前
Cylab在线靶场——挑战图书馆初学者指南
服务器·前端·数据库·chrome·安全·网络安全·靶场
职豚求职小程序1 小时前
易方达基金27秋招笔试|场次+考情全梳理
笔记
拆房老料2 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
阿里嘎多学长7 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
曹牧8 小时前
C#:空合并运算符
java·前端·数据库
布吉岛的石头8 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
小羊没烦恼!8 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc9 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
燕落南枝10 小时前
CSS 学习:类型选择器与 AI 注释实战
css·人工智能·学习
昂好的day10 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#