Web前端入门(十七)CSS盒子模型

web前端开发之CSS css 阅读详情

总目录:https://blog.youkuaiyun.com/treesorshining/article/details/124725459

1.盒子模型

页面布局三大核心

  • 盒子模型

  • 浮动

  • 定位

网页布局的本质

  • 首先利用CSS设置好盒子的大小,然后摆放盒子的位置。
  • 最后把网页元素比如文字图片等等,放入盒子里面。

盒子模型概述

  • 盒子模型就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。
  • 盒子模型由元素的内容(content)、边框(border)、内边距(padding)、和外边距(margin)组成。
  • 盒子里面的文字和图片等元素是内容区域
  • 盒子的厚度称为为盒子的边框
  • 盒子内容与边框的距离是内边距
  • 盒子与盒子之间的距离是外边距
    在这里插入图片描述

W3C标准盒子模型

标准 w3c 盒子模型的范围包括 margin、border、padding、content

当设置为box-sizing: content-box;时,将采用标准模式解析计算,也是默认模式;

内盒尺寸计算(元素实际大小)

  • 高度:Element Height = content height + padding + border (Height为内容高度)
  • 宽度:Element Width = content width + padding + border (Width为内容宽度)
  • 盒子的实际大小:内容的宽度和高度 + 内边距 + 边框

在这里插入图片描述

IE盒子模型

IE 盒子模型的 content 部分包含了 border 和 padding

当设置为box-sizing: border-box时,将采用怪异模式解析计算;

2.边框(border)

  • CSS 边框属性允许指定一个元素边框的样式和颜色
  • 边框由三部分组成:边框宽度(粗细) 边框样式 边框颜色
border : borde-width || border-style || border-color
属性作用
border-width定义边框粗细,单位是px
border-style边框的样式
border-color边框颜色

1.border-style

边框样式 border-style可以设置如下值:

  1. none:没有边框即忽略所有边框的宽度(默认值)
  2. solid :边框为单实线(最为常用的)
  3. dashed: 边框为虚线
  4. dotted: 边框为点线

边框简写:没有顺序

border : 1px soilid red;

边框分开写法:

/* 只设定上边框,其余边框部位同理 */
border-top: 1px solid red;

很多情况下,不需要指定4个边框,可以单独给4个边框分别指定的,如下所示:

上边框下边框左边框右边框
border-top-style:样式;border-bottom-style:样式;border-left-style:样式;border-right-style:样式;
border-top-width:宽度;border- bottom-width:宽度;border-left-width:宽度;border-right-width:宽度;
border-top-color:颜色;border- bottom-color:颜色;border-left-color:颜色;border-right-color:颜色;
border-top:宽度 样式 颜色;border-bottom:宽度 样式 颜色;border-left:宽度 样式 颜色;border-right:宽度 样式 颜色;

2.border-collapse

  • border-collapse 属性控制浏览器绘制表格边框的方式,它控制相邻单元格的边框
  • border-coppapse 表格的细线边框
border-collapse : collapse;
  • 表示相邻边框合并在一起,在此处合并指的并非单元格的合并,而是表格单元格边框线条的合并,因为在一般情况下,相邻表格单元格的边界虽只有一条,但其实是两个单元格的重叠,所以显得较粗,合并之后则只显示一条。

边框会影响盒子实际大小

边框会额外增加盒子的实际大小,因此有两种方案解决:

  1. 测量盒子大小的时候,不量边框
  2. 如果测量的时候包含了边框,则需要 width/height 减去边框宽度

3.内边距(padding)

padding 属性用于设置内边距,即盒子边框与内容之间的距离

属性作用
padding-left左内边距
padding-right右内边距
padding -top上内边距
padding-bottom下内边距
  • padding属性(简写属性)可以有一到四个值
值的个数及示例表达意思
1个值,padding : 5px;1个值,代表上下左右都有5像素内边距
2个值,padding :5px 10px;2个值,代表上下内边距是5像素,左右内边距是10像素
3个值,padding: 5px 10px 20px;3个值,代表上内边距5像素,左右内边距10像素,下内边距20像素
4个值,padding :5px 10px 20px 30px4个值,上是5像素,右是10像素,下20像素,左是30像素,顺时针

padding会影响盒子大小的情况

当给盒子指定 padding 值之后,发生了2件事情:

  1. 内容和边框有了距离,添加了内边距
  2. padding影响了盒子实际大小

也就是说,如果盒子已经有了宽度和高度,此时再指定内边框,会撑大盒子

解决方案:

如果保证盒子跟效果图大小保持一致,则让 width/height 减去多出来的内边距大小即可

padding不会影响盒子大小的情况

  • 如果盒子本身没有指定width/height属性,则此时padding不会撑开盒子大小

4.外边距(margin)

  • margin(外边距)属性用于设置外边距,即控制盒子和盒子之间的距离
属性作用
margin-left左外边距
margin-right右外边距
margin-top上外边距
margin-bottom下外边距

margin 简写方式代表的意义跟 padding 完全一致

块级盒子水平居中

外边距可以让块级盒子水平居中,但是必须满足两个条件

  1. 盒子必须制定了宽度(width)
  2. 盒子左右的外边距都设置为 auto
.header {
    width: 960px;
    margin: 0 auto;
}

左右的外边距都设置为 auto 有三种写法:

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

margin: auto;

margin: 0 auto;

注意:

以上方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加 text-align: center 即可。

外边距合并

使用 margin 定义块级元素的垂直外边距时,可能会出现外边距的合并。

主要有两种情况:

  1. 相邻块元素垂直外边距的合并
  2. 嵌套块元素垂直外边距的塌陷

①相邻块元素垂直外边距的合并

当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距 margin-bottom,下面的元素有上外边距 margin-top ,则他们之间的垂直间距不是 margin-bottom 与 margin-top 之和。取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并。

解决方案:

尽量只给一个盒子添加 margin 值

②嵌套块元素垂直外边距的塌陷

对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值

解决方案:

  1. 可以为父元素定义上边框
  2. 可以为父元素定义上内边距
  3. 可以为父元素添加 overflow: hidden

还有其他方法,比如浮动、固定、绝对定位的盒子不会有塌陷问题。

③清除内外边距

网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此在布局前,首先要清除下网页元素的内外边距。

* {
    padding: 0;
    margin: 0;
}

注意:

行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。但是转换为块级和行内块元素就可以了

随记: 去掉 li 前面的小圆点

li {
    list-style: none;
}
嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战) 本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。 阅读详情

相关推荐

数电-基于FPGA的自动售货控制系统设计

本次数电的课程设计是设计一款基于FPGA的自动售货控制系统,因为手上暂时没有FPGA的板子,所以先采用proteus仿真进行设计,观察系统效果,等之后FPGA板子下发,再移到quartus上调试和下载。同样是自己第一次自主设计电路系统,可能在功能上不完整或者逻辑上有错误,大家多多包涵,欢迎沟通交流。

gg1067的博客 2289

CSS基础之盒子模型

文章目录 前言 1.盒子模型的组成 2.边框(border) 3.内边距(padding) 4.外边距(margin) ①外边距典型应用 ②外边距合并 ③清除内外边距 前言 css页面布局三大重点: css 盒子模型 、 浮动 、 定位 1.盒子模型的组成 border(边框) content(内容) padding(内边距) margin(外边距) 2.边框(border) CSS 边框属性允许你指定一个元素边框的样式和颜色 边框由三部分组成:边框宽度(粗细)、边框样式

m0_52789121的博客 1004

具身智能数据采集的工程化指南:从时间同步到质量校验

具身智能的模型训练离不开高质量的多模态轨迹数据,而数据采集并非简单的传感器记录。真实场景中,相机图像、机械臂关节状态与力觉信息必须在时间轴上精确对齐,标定的漂移和格式混乱会让看似正常的数据无法用于训练。时间同步与标定一致性,是决定数据质量的核心技术环节。在机器人抓取、操作等工程应用中,一套包含多传感器同步、轻量记录脚本、自动化质量校验与版本管理的数据采集流程,能大幅降低数据生产的失败率。本文从工程视角拆解具身数据采集中的典型问题,并给出可落地的流程设计与校验方法,帮助团队构建可持续迭代的高质量数据集。

weixin_30603633的博客 510

让一个定位的盒子水平垂直居中

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...

Jack_13201的博客 1161

星宸科技SSD20x/SSD21X应用层DEMO实战指南:从入门到深度定制

本文详细介绍了星宸科技SSD20x/SSD21X系列芯片的应用层DEMO开发实战,从基础环境搭建到深度定制开发。内容涵盖DEMO资源获取、核心功能实现、第三方库集成以及性能优化技巧,帮助开发者快速掌握智能显示和多媒体处理应用的开发方法。特别适合嵌入式开发者在智能家居、工业控制等场景中应用。

weixin_42524226的博客 267

树莓派+STM32+激光雷达:大学生工训赛智能物流小车全栈开发实录(附避坑指南)

本文详细记录了基于树莓派、STM32和激光雷达的智能物流小车全栈开发过程。文章从系统架构设计、硬件集成、软件框架搭建到机械臂控制与视觉辅助定位,系统阐述了如何构建一个完整的机器人系统,并分享了在电源管理、通信延迟、里程计误差等关键环节的实战避坑指南,为嵌入式与机器人开发提供了宝贵经验。

kotlin6android的博客 748

【CSS】盒子模型内边距 ⑤ ( 内边距不影响盒子模型尺寸的情况 | 不设置宽度或高度为其设置 Padding 内边距时不撑开盒子 )

一、内边距不影响盒子模型尺寸的情况 二、内边距影响盒子模型尺寸的情况

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2242

手把手教你在VirtualBox里复活Win98,并搞定驱动和文件传输(含资源寻找攻略)

本文详细指导如何在VirtualBox中安装和配置Windows 98,包括驱动安装、文件传输等实用技巧。通过逐步教程和资源寻找攻略,帮助技术爱好者完美复刻这一经典操作系统,满足怀旧或兼容性测试需求。

weixin_29596051的博客 324

CSS3盒子模型border和padding不会撑开盒子

box-sizing指定盒子模型,有两个值分别是content-box、border-box/ box-sizing:border-box 这样指定了padding或border后,盒子不会变大。设置了之后,盒子就不用减去border或者padding值了。 之前默认的content-box,盒子大小是padding+border+width。 ...

m0_61547956的博客 1848

基于单片机自行车码表控制系统设计

*单片机设计介绍,基于单片机自行车码表控制系统设计。

QQ2193276455的博客 1487

建行报专版报道建设银行金融科技发展历程

经过十多年的建设,总行前中后台部门都有了自己的业务系统,但系统“部门”特征显著,渠道、客户、产品的横向整合不足,产品系统层次化、结构化、参数化程度不高,渠道支持产品快速部署以及跨渠道服务能力不足,管理分析类系统建设相对滞后,系统较弱的可扩展能力在应对高速增长的交易量时已疲态尽显,同时安全稳定运行的压力和风险日益积聚。站在新的历史起点上,科技条线将聚焦主责主业,完善信息科技管理体系,紧紧围绕安全生产中心任务,持续推动技术能力复用共享和自主可控,为全行做好金融五篇大文章,推动业务高质量发展提供技术支撑。

银行信息系统应用架构详解 384

CSS:padding不会撑开盒子的情况

CSS:padding不会撑开盒子的情况

听海边涛声 553

手把手教你学Simulink--复杂环境适应的四足机器人领域仿真建模实例:构建一个基于Simulink的四足机器人动态平衡保持仿真模型

通过上述步骤,你可以构建一个基本的基于Simulink的四足机器人动态平衡保持仿真模型。此模型不仅有助于理解四足机器人在复杂环境中的动态平衡控制原理,也为进一步优化提供了基础。随着技术的发展,还可以探索更多高级功能,如自适应步态调整、强化学习等,以提高机器人的智能性和适应性。

MHD0815的博客 235

WEB前端基础(HTML+CSS+JavaScript)(上)最好看最详细的笔记~

当前部分是基于HTML与CSS总结,后续有JavaScript更新~ HTML概述(阶段1 入门概述) 一、HTML 超文本标记语言 第一个HTML页面 一、HTML基本结构 HTML模板简要说明 声明 HTML基本结构 二、HTML元素 元素 闭合元素 ‘’ 空元素 ‘’ 标签 HTML元素属性 属性名 属性值 三、HTML头部 元素 ‘元素:定义HTML页面标题 ’元素:定义HTML页面中所以相对URL的根URL。 ‘元素:定义HTML页面引入的外部资源.

马云 9402

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Web前端入门】HTML+CSS 万字总结——带你深入学习掌握

万维网W3C标准中网页分为结构,表现和行为三部分,HTML用于描述页面的结构,CSS用于控制页面中的元素样式,JavaScript用于响应用户的操作。HTML,CSS和JavaScript组成了前端技术栈。学习HTML就是学习标签的一个过程,难度指数低,重在反复练习!

HTML网页设计 785

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

web前端基础

web前端基础

ZiminLi的博客 5530

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Web前端从入门到入土

HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。HTML层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

weixin_73958978的博客 1930

Web前端文章目录

文章汇总 持续更新,目录随文章发布补充 文章 链接 Web前端入门(一)初识WEB 文章链接 Web前端入门(二)HTML入门 文章链接 Web前端入门(三)HTML常用标签-1 文章链接 Web前端入门(四)HTML常用标签-2 文章链接 Web前端入门(五)HTML常用特殊字符 文章链接 .....................

treesorshining的博客 4308

Web前端知识点复习(四十一个知识点·选择题大集合)

文章目录(一)web前端开发概述(二)网站与网页(三)Web前端开发技术(四) HTML概述(五)HTML文件结构(六)HTML标签(I)(七)HTML标签(II)(八) HTML标签(III)(九)HTML标签(IV)(十)HTML标签(V)(十一)CSS概述(十二)CSS添加方法(十三)CSS选择器(十四) CSS样式(I) 文字样式(十五)CSS样式(II) 背景,超链接样式(十六)CSS样式(III) 列表,表格样式(十七)布局与定位概述(十八)盒子模型(I)(十九)盒子模型(II)(十九)CSS定

数据库爆破专家的博客 3876

web前端开发之CSS笔录

web前端开发之CSS笔录,详细介绍CSS的用法和特点,偶尔翻来复习一下,让你的前端学习更加通俗易懂

陈二狗的博客 1970

WEB前端基础(HTML+CSS+JavaScript)(上)最好看最详细的笔记

WEB前端基础(HTML+CSS+JavaScript)(上)最好看最详细的笔记 WEB前端基础 当前部分是基于HTML与CSS总结,后续有JavaScript更新~ 文章目录 WEB前端基础 一、HTML概述(阶段1 入门概述) 1、HTML 二、第一个HTML页面 1、HTML基本结构 2、HTML元素 3、HTML头部 4、HTML注释 三、 CSS概述 四、如何使用css 1、内联样式 2、内嵌样式.

huang714的专栏 489
上一篇: 【大数据】【Spark】Spark核心编程(一)RDD概述
下一篇: Web前端入门(十八)圆角边框及盒子阴影
Silver  Star
Silver Star 新星创作者: 大数据技术领域 新星创作者: 大数据技术领域
博客等级 码龄7年 1万+粉丝 72原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Silver Star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值