【前端】深入理解CSS盒子模型与浮动

news2024/10/7 4:29:02

目录

  • 一、前言
  • 二、盒子模型
    • 1、盒子模型组成
      • 1.1、border边框
        • 1.1.1、边框的三部分组成
        • 1.1.2、边框复合简写
        • 1.1.3、边框分开写
        • 1.1.4、表格的细线边框
      • 1.2、padding内边距
      • 1.3、margin外边距
        • 1.3.1、外边距水平居中
        • 1.3.2、外边距合并
        • 1.3.3、嵌套块元素垂直 外边距的塌陷
          • 1.3.3.1、解决方案
        • 1.3.4、清除内外边距
    • 2、圆角边框
    • 3、盒子阴影
    • 4、文字阴影
  • 三、CSS浮动
    • 1、浮动
      • 1.1、标准流(普通流/文档流)
      • 1.2、浮动特性
    • 2、清除浮动
  • 四、总结

一、前言

页面中的元素都是由盒子构成的,盒子里面装的就是元素的内容。盒子的从内到外分别是内容(content),内边距(padding),边框(border),外边距(margin),这些属性也是我们常用的属性。我们F12打开开发者工具选中页面的元素就能很清晰的看到对应的属性及属性值
在这里插入图片描述

二、盒子模型

1、盒子模型组成

  • border边框
  • content内容
  • padding内边距:文字与盒子的边框之间的距离
  • margin外边距:控制一个盒子和另一个盒子之间的距离
    在这里插入图片描述
    所谓盒子模型:就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。
    CSS盒子模型本质上是一个盒子,封装的HTML元素,包括:边框、外边距、内边距、实际内容
    在这里插入图片描述

1.1、border边框

border可以设置元素的边框

在这里插入图片描述

1.1.1、边框的三部分组成

  • 边框宽度(粗细,单位是px):border-width
  • 边框样式:border-style
  • 边框颜色:border-color
/* 边框高度 */
border-width: 5px;

/* 边框样式 solid实线 */
border-style: solid;

/* 边框样式 dashed虚线 */
border-style: dashed;

/* 边框样式 dotted点线 */
border-style: dotted;

/* 边框颜色 */
border-color: red;

/* transparent透明色 */
border-color: transparent;

在这里插入图片描述

1.1.2、边框复合简写

/* 边框的复合简写 没有顺序*/
border: 5px solid red

1.1.3、边框分开写

/* 边框分开写*/
border-top: 5px solid red;
border-bottom: 5px solid blue;
border-left: 5px solid pink;
border-right: 5px solid purple;

在这里插入图片描述

1.1.4、表格的细线边框

border-collapse属性控制浏览器绘制表格边框的方式。它控制相邻单元格的边框

/* 合并相邻的边框 表示相邻边框合并在一起 */
border-collapse: collapse;

在这里插入图片描述

1.2、padding内边距

padding属性用于设置内边距,即边框与内容之间的距离
在这里插入图片描述padding属性(简写属性)可以有一到四个值
在这里插入图片描述

1.3、margin外边距

margin属性用于设置外边距,即控制盒子和盒子之间的距离
在这里插入图片描述

1.3.1、外边距水平居中

外边距可以让块级盒子水平居中,需满足两个条件:

  1. 盒子必须指定了宽度(width)
  2. 盒子左右的外边距都设置为auto
元素/.类{
width: 20px;
margin: 0 auto;
}

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

1.3.2、外边距合并

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

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

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

在这里插入图片描述

1.3.3.1、解决方案
  1. 可以为父元素定义上边框
/* 设置边框为1px 实线 透明色 */
border: 1px solid transparent
  1. 可以为父元素定义上内边距
/* 设置内边距为1px */
padding: 1px
  1. 可以为父元素添加overflow: hidden

1.3.4、清除内外边距

* {
	//清除内边距
	padding: 0

	//清除外边距
	margin: 0
}

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

2、圆角边框

border-radius属性用于设置元素的外边框圆角

border-radius: 长度px/%;

在这里插入图片描述

3、盒子阴影

box-shadow属性为盒子添加阴影

box-shadow: h-shadow v-shadow blur spread color inset
box-shadow: 10px 10px 10px 10px rgba(0,0,0,0.3);

在这里插入图片描述
注意
1. 默认的是外阴影(outset),但是不可以写这个单词,否则导致阴影无效
2. 盒子阴影不占用空间,不会影响其他盒子排列
3. 必须使用复合写法,单独写不生效

4、文字阴影

text-shadow属性为文字添加阴影

text-shadow: h-shadow v-shadow blur color
text-shadow: 3px 3px 2px rgba(0,0,0,0.3);

在这里插入图片描述

三、CSS浮动

1、浮动

  1. 元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
  2. 一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
  3. 浮动元素之后的元素将围绕它。
  4. 浮动元素之前的元素将不会受到影响。

1.1、标准流(普通流/文档流)

在这里插入图片描述

1.2、浮动特性

  1. 脱离标准普通流的控制(浮)移动到指定位置(动),称之为脱标
  2. 浮动的盒子不再保留原先的位置

2、清除浮动

在这里插入图片描述
在这里插入图片描述

四、总结

通过本文的介绍,读者对CSS盒子模型和浮动有了更深入的理解。掌握了这两个概念后,读者可以更灵活地进行页面布局和设计,提升网页的用户体验和可维护性。同时,了解了盒子模型和浮动的兼容性问题和解决方案,读者可以更好地应对不同浏览器的差异,提高开发效率。希望本文能够帮助读者在前端开发中更好地运用CSS盒子模型和浮动技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/916237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全流程R语言Meta分析核心技术应用

Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…

LMLCCS_UPDATEFO2 LCL DB 方法 get_normvector 头寸 A 中RC 1 内部错误,过账时报错<转载>

原文链接:https://blog.csdn.net/XFYBB/article/details/129174579 物料的成本中心,作业价格没有维护 再用FCMLHELP,重新创建一下 se37,FCMLHELP_CHECK_TESTFLAG,打断点,跳过PW

外围信息收集

一、查询域名信息 1、安装whois sudo apt update sudo apt install whois2、使用 whois [域名]也可以通过在线网站进行查询网站 3、反查 4、网站在线查询 4.1、网站一 通过使用网站去查询:网址 ,这个网站只会记录他所知道的域名,不全 4.…

网络综合布线实训室方案(2023版)

综合布线实训室概述 随着智慧城市的蓬勃发展,人工智能、物联网、云计算、大数据等新兴行业也随之崛起,网络布线系统作为现代智慧城市、智慧社区、智能建筑、智能家居、智能工厂和现代服务业的基础设施和神经网络,发挥着重要作用。实践表明,网络系统故障的70%发生在布线系统,直接…

centos7 忘记密码需要重置密码

第一步进入系统加载条之前 按 e 键 第二步到了这个界面 找到 linux16 开头的 将 ro 改成 rw init/sysroot/bin/sh 修改完之后 按下按键 ctrlx 或者是 F10 第三步输入 命令 chroot /sysroot第四步 重置root用户密码 这里重置密码是叫你输入两遍密码 passwd root第五步 更…

常量变量习题答案

基础题目: 第一题 按步骤编写代码,效果如图所示: 编写步骤: 定义类 Test1定义 main方法控制台输出5行字符串类型常量值控制台输出5行字符类型常量值 参考答案: public class Test1 {public static void main(String[] args) {/…

【负载均衡】Nacos简单入门

Nacos简单入门 快速安装 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: 下载完压缩包之后,放在任意目录下面进行解压: GitHub主页:https://github.com/alibaba/nacos G…

Java日志框架概览

SLF4J 提供统一的日志门面API,即图中紫色部分,实现中立的日志记录API 桥接功能,蓝色部分,把各种日志框架API(绿色部分)桥接到SLF4J API。这样即便你的程序中使用各种日志API记录日志,最终都可桥…

伊斯特曼E1D和VEAZEN费森S88这两款全单吉他怎么样?优缺点综合对比评测,哪一款更出众?

3000-4000元价位预算有什么适合初学或者进阶换琴的吉他品牌推荐?VEAZEN费森S88系列和Eastman伊斯特曼E1D系列一直也是深受初学者和进阶者喜欢的热销全单吉他型号,那么,今天就以它们为本期的评测主角,从五个方面深度剖析介绍和对比…

计算机网络第3章(数据链路层)

计算机网络第3章(数据链路层) 3.1 数据链路层概述3.1.1 概述3.1.2 数据链路层使用的信道3.1.3 三个重要问题 3.2 封装成帧3.2.1 介绍3.2.2 透明传输3.2.3 总结 3.3 差错检测3.3.1 介绍3.3.2 奇偶校验3.3.3 循环冗余校验CRC(Cyclic Redundancy Check)3.3.…

EasyExcel+POI制作带有有效性校验及下拉联动的Excel模板

文章目录 1.背景2.实现功能的Excel特性2.1.特性介绍2.2.下拉框联动2.3.单元格自动匹配Id2.4.错误提示 3.代码实现3.1.基础流程代码3.2.名称管理器配置3.3.有效性配置3.4.函数填充3.5.其他补充 4.总结 1.背景 最近在做一个CRM系统的人员销售目标导入的相关需求,需要…

壁仞科技与百度飞桨完成II级兼容性测试

近日,壁仞科技BR104通用GPU与百度飞桨已完成II级兼容性测试。测试结果显示,双方兼容性表现良好,整体运行稳定。这是壁仞科技加入飞桨“硬件生态共创计划”后的阶段性成果。产品兼容性证明本次II级兼容性测试完成了涵盖自然语言处理、计算机视…

FFmpeg解码32k大分辨率出现如下错误:Picture size 32768x32768 is invalid

最近找到一张32k的jpeg图片,尝试用ffmpeg来进行解码,命令如下: ffmpeg -i enflame_32768-32768-420.jpg 32.yuv结果出现Picture size 32768x32768 is invalid的错误:

【C++】用Windows API在控制台实现选择选项

2023年8月23日&#xff0c;周三上午 今天上午花了一个小时来实现这个 这个程序在碰到边界时会发出声音&#xff0c; 通过调用Windows API的Beep函数来实现。 #include<Windows.h> #include<conio.h> #include<iostream> #include<cstdlib>const int …

生信豆芽菜-EMT评分的计算

网址&#xff1a;http://www.sxdyc.com/gradeEmt 1、数据准备 表达谱数据&#xff0c;行为基因&#xff0c;列为样本 2、提交后&#xff0c;等待运行成功即可下载 当然&#xff0c;如果不清楚数据是什么样的&#xff0c;可以选择下载我们的示例数据&#xff0c;也可以关注…

统计分析查找总人数、男、女的人数

SELECTcount( * ) AS count,sum( CASE WHEN MOD ( substr( remark, 17, 1 ), 2 ) 0 THEN 1 ELSE 0 END ) AS women,sum( CASE WHEN MOD ( substr( remark, 17, 1 ), 2 ) 1 THEN 1 ELSE 0 END ) AS man FROMt_user

CH583/2构建工程教程

CH583/2构建工程教程 绪论资源移植步骤准备移植步骤一步骤二 工程配置修改工程名修改前修改后 工程配置修改资源文件 修改C/C general修改C/C构建修改汇编交叉编译修改C交叉编译修改GNU RISC-V Cross Linker 修改跟编译 移植注意事项 绪论 资源 CH583/2的SDK下载 移植步骤 …

2025款EQC路测照曝光:外观更紧凑,动力更强,与宝马iX3正面竞争

据国外汽车媒体Auto Express近日发布的报道&#xff0c;梅赛德斯的EQC Mk2纯电动汽车在进行路测时被拍下了照片。 EQC车型相比于EQA和EQB更为紧凑&#xff0c;而与EQE和EQS相比则更为宽敞&#xff0c;这使得该车型在市场推出后与宝马iX 3和奥迪即将推出的Q6 E-tron进行了正面竞…

数据结构——队列(C语言)

需求&#xff1a;无 本篇文章将解决一下几个问题&#xff1a; 队列是什么&#xff1f;如何实现一个队列&#xff1f;什么场景下会用队列&#xff1f; 队列的概念&#xff1a; 队列&#xff1a;一种只允许一端进行插入数据操作&#xff0c;在另一端进行删除操作的特殊线性表。…

AI大模型算力的估计方法

估计大型模型所需的算力是一个复杂的过程&#xff0c;涉及许多因素&#xff0c;如模型的大小、训练数据量、训练批次大小、训练轮数等。以下是一些常见的方法和指导来估计大型模型所需的算力&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外…