当前位置: 首页 > news >正文

11.CSS盒模型、弹性布局与调试工具全解析(含代码示例)

目录

一、盒模型

二、边框(border)

基础属性

三、box-sizing 属性(修改盒模型行为)

四、内边距(padding)

(一)基础写法示例

​编辑

(二)复合写法

(三)注意

五、外边距(margin)

(一)基础写法示例

(二)复合写法

六、块级元素水平居中

示例 1(居中盒子,非文字)

示例 2(文字居中 + 盒子居中)

注意

七、去除浏览器默认样式

示例(带默认样式清除)

八、弹性布局(flex)

1. 常用属性:justify-content(水平方向)

示例 1(justify-content: start)

示例 2(justify-content: center)

示例 3(justify-content: end)

示例 4(justify-content: space-between)

注意

2.常用属性:align-items(垂直方向)

九、Chrome 调试工具 -- 查看 CSS 属性

1. 打开浏览器

2. 标签页含义


一、盒模型

每一个 HTML 元素就相当于是一个矩形的 “盒子”,这个盒子由以下几个部分构成:

  • 边框border

  • 内容content

  • 内边距padding

  • 外边距margin

二、边框(border)

基础属性

  • 粗细:border-width

  • 样式:border-style(默认没边框;solid实线边框;dashed虚线边框;dotted点线边框)

  • 颜色:border-color

示例代码:

<style> div { width: 500px; height: 250px; border-width: 10px; border-style: solid; border-color: green; } </style> <body> <div></div> </body>

另一个代码示例:

<style> div { width: 200px; height: 100px; border-color: black; border-style: solid; border-width: 10px; /* 也可以简写,三个元素属性的顺序没有特定要求 */ /* border: black solid 10px; */ box-sizing: border-box; } </style> <body> <div></div> </body>

注意:

CSS注释

/* 注释内容 */

<style>标签内或外部 CSS 文件

/* 这是一行 CSS 注释 */

HTML注释

<!-- 注释内容 -->

HTML 文件中(CSS 代码块外)

<!-- 这是一行 HTML 注释 -->

JavaScript注释

// 单行/* 多行 */

<script>标签内或外部 JS 文件

// 单行注释

三、box-sizing 属性(修改盒模型行为)

通过box-sizing属性可以修改浏览器的行为,使边框不再撑大盒子。

  • *为通配符选择器。

示例:

* { box-sizing: border-box; }

四、内边距(padding)

padding设置内容和边框之间的距离。默认内容是顶着边框放置的,用padding来控制这个距离,可以给四个方向都加上边距:

  • padding-top

  • padding-bottom

  • padding-left

  • padding-right

(一)基础写法示例

<style> div { width: 200px; height: 100px; padding-left: 5px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; } </style> <body> <div>这是一个div</div> </body>

(二)复合写法

可以把多个方向的padding合并到一起(四种情况都要记住,都很常见):

  • padding: 5px;:表示四个方向都是 5px

  • padding: 5px 10px;:表示上下内边距 5px,左右内边距为 10px

  • padding: 5px 10px 20px;:表示上边距 5px,左右内边距为 10px,下内边距为 20px

  • padding: 5px 10px 20px 30px;:表示上 5px,右 10px,下 20px,左 30px(顺时针)

(三)注意

  • 使用box-sizing: border-box;属性也可以使内边距不再撑大盒子(和上面border类似)。

五、外边距(margin)

控制盒子和盒子之间的距离,可以给四个方向都加上边距:

  • margin-top

  • margin-bottom

  • margin-left

  • margin-right

(一)基础写法示例

<style> div { border: solid green 5px; margin-top: 5px; margin-bottom: 5px; margin-left: 5px; margin-right: 5px; } </style> <body> <div></div> <div></div> <div></div> </body>

(二)复合写法

规则同padding

  • margin: 10px;:四个方向都设置

  • margin: 10px 20px;:上下为 10,左右 20

  • margin: 10px 20px 30px;:上 10,左右 20,下 30

  • margin: 10px 20px 30px 40px;:上 10,右 20,下 30,左 40

六、块级元素水平居中

前提:

  • 指定宽度(如果不指定宽度,默认和父元素一致)

  • 把水平margin设为auto

三种写法均可:

margin-left: auto; margin-right: auto; margin: auto; margin: 0 auto;

示例 1(居中盒子,非文字)

<style> div { border: solid green 5px; width: 200px; height: 100px; margin: auto; } </style> <body> <div>这是一个div</div> <div>这是一个div</div> <div>这是一个div</div> </body>

示例 2(文字居中 + 盒子居中)

<style> div { border: solid green 5px; width: 200px; height: 100px; /* margin: auto; */ text-align: center; margin-left: auto; margin-right: auto; } </style> <body> <div>这是一个div</div> <div>这是一个div</div> <div>这是一个div</div> </body>
注意
  • 这个水平居中的方式和text-align不一样:

    • margin: auto是给行内元素或者行内块元素居中的。

    • text-align: center是让行内元素或者行内块元素居中的。

  • 另外,对于垂直居中,不能使用 “上下marginauto” 的方式。

七、去除浏览器默认样式

浏览器会给元素加上一些默认的样式,尤其是内外边距,不同浏览器的默认样式存在差别。为了保证代码在不同的浏览器上都能按照统一的样式显示,往往我们会去除浏览器默认样式。使用通配符选择器即可完成这件事情:

* { margin: 0; padding: 0; }

示例(带默认样式清除)

<style> div { border: solid green 5px; width: 200px; height: 100px; /* margin: auto; */ text-align: center; margin: 0px; padding: 0px; } </style> <body> <div>这是一个div</div> <div>这是一个div</div> <div>这是一个div</div> </body>

八、弹性布局(flex)

1. 常用属性:justify-content(水平方向)

设置主轴上的子元素排列方式。使用之前一定要确定好主轴是哪个方向。

示例 1(justify-content: start

<body> <div> <span>1</span> <span>2</span> <span>3</span> </div> <style> div { height: 700px; width: 700px; background-color: green; display: flex; justify-content: start; } div span { height: 100px; width: 100px; background-color: red; } </style> </body>
示例 2(justify-content: center

<body> <div> <span>1</span> <span>2</span> <span>3</span> </div> <style> div { height: 700px; width: 700px; background-color: green; display: flex; justify-content: center; } div span { height: 100px; width: 100px; background-color: red; } </style> </body>
示例 3(justify-content: end

<body> <div> <span>1</span> <span>2</span> <span>3</span> </div> <style> div { height: 700px; width: 700px; background-color: green; display: flex; justify-content: end; } div span { height: 100px; width: 100px; background-color: red; } </style> </body>
示例 4(justify-content: space-between

<body> <div> <span>1</span> <span>2</span> <span>3</span> </div> <style> div { height: 700px; width: 700px; background-color: green; display: flex; justify-content: space-between; } div span { height: 100px; width: 100px; background-color: red; } </style> </body>
注意
  • 弹性布局一定要加在父级元素上!!!!!!!!!!!!!!

2.常用属性:align-items(垂直方向)

<body> <div> <span>1</span> <span>2</span> <span>3</span> </div> <style> div { height: 700px; width: 700px; background-color: green; display: flex; justify-content: space-between; /* 垂直方向上的三种弹性布局 */ /* align-items: start; */ /* align-items: center; */ align-items: end; } div span { height: 100px; width: 100px; background-color: red; } </style> </body>

九、Chrome 调试工具 -- 查看 CSS 属性

1. 打开浏览器

有两种方式可以打开 Chrome 调试工具:

  • 直接按 F12 键

  • 鼠标右键页面 => 检查元素

2. 标签页含义

  • elements:查看标签结构

  • console:查看控制台

  • source:查看源码 + 断点调试

  • network:查看前后端交互过程

  • application:查看浏览器提供的一些扩展功能(本地存储等)

http://www.gsyq.cn/news/1433930.html

相关文章:

  • LinkSwift:九大网盘直链下载助手完整指南
  • Arduino气动龙翼制作:从CAD设计到机电一体化工程实践
  • 创客电路设计实战:从元件到PCB,掌握硬件开发全流程
  • 校园失物招领系统 - 作业完成说明
  • 联想刃7000K BIOS权限解锁:3步实现完整硬件控制权
  • 技术深度解析:ComfyUI ControlNet Aux预处理器架构优化与工程化解决方案
  • 六安金安区家庭生日宴小型宴席门店榜单 实用选店参考 - 资讯快报
  • 基于Arduino的智能安防系统:红外遥控与传感器融合实战
  • 2026宜兴汽车贴膜测评:隐形车衣/玻璃膜门店实测 - 资讯快报
  • 工厂模式实战——注册创建兜底,一个工厂的三个职责
  • 从《XX游戏》的界面设计,拆解UE5中UI、HUD与UMG的分工协作
  • AMESim 2021.1 保姆级安装避坑指南:从环境变量到许可证,一次搞定所有报错
  • 2026年5月反渗透设备与板换机组厂家推荐榜:撬装式热水、泳池恒温、全自动软水器、紫外线杀菌器及自清洗过滤器解决方案 - 企业推荐官【官方】
  • RevitLookup完全指南:如何用这款免费工具彻底改变你的BIM工作方式
  • 告别臃肿虚拟机:在WSL2 Ubuntu 22.04上搭建轻量级Pwn调试环境
  • 别再花钱了!手把手教你免费搭建本地版CodeFormer,修复老照片效果实测
  • IoT与AI融合:重塑金融风控、供应链与保险的实战路径
  • 2026宁波GEO优化服务商深度评测:避坑与选型实战指南 - 品牌报告
  • 六安金安区有免费布置主持的生日宴餐厅有哪些 - 资讯快报
  • 如何彻底移除Windows Defender:完整禁用指南与实用技巧
  • Windows 7上保姆级安装Zenmap 7.94教程(附Npcap 1.75依赖处理)
  • Zotero文献去重插件终极指南:3分钟学会智能合并重复条目
  • 基于Arduino与PID算法的低成本T12焊台DIY全攻略
  • 从感知AI到具身AI:人工智能的四次跃迁
  • Ubuntu编译报错磁盘空间不足?别急着删文件,手把手教你无损扩容/home目录(附fstab配置详解)
  • Hyper-V DDA图形化工具:告别命令行,5分钟完成设备直通配置
  • VASP计算跑完了,OUTCAR、CONTCAR、DOSCAR...这些输出文件到底怎么看?手把手教你提取关键结果
  • “人工智能+零售业”面临的主要挑战
  • 保姆级教程:用Docker Compose一键部署WVP-PRO+ZLM+录像服务,告别繁琐配置
  • 如何5分钟搭建专业级在线LaTeX写作环境:WebLaTeX完全指南