盒模型,BFC以及行内块级元素

一.盒模型篇

css基础框盒模型介绍:
当对一个文档进行布局的时候,浏览器的渲染引擎会根据标准之一的css基础框盒模型,将所有元素表示为一个个矩形的盒子,每个盒子由四部分组成,分别是内容 内边距 边框 外边距(但是行内元素不会因内边距(padding)和边框(border)而增加其占用的垂直空间,它们的垂直高度主要由line-height属性决定。这意味着,尽管边框和内边距会在视觉上增加元素的大小,但它们在布局上不会增加元素的高度)

1.标准盒模型content-box(默认):

块的总宽度= width + margin(左右) + padding(左右) + border(左右) 
    <div class="bzBox">标准盒模型</div><style>.bzBox{width: 100px;height: 50px;margin: 2px;padding: 2px;/* 这里设置1px,但是浏览器查看盒模型显示的不是1px,这是因为系统的缩放导致的,打开电脑设置调整缩放比例为100%后即可正常 */border: 2px solid black;box-sizing: content-box;//因为默认就是标准盒模型所以这段不要也可以}</style>

在这里插入图片描述

2.怪异盒模型border-box:

一个块的总宽度(页面中占的宽度)= width + margin(左右)(即width已经包含了padding和border值
	<div class="gyBox">怪异盒模型</div><style>.gyBox{width: 100px;height: 50px;margin: 2px;padding: 2px;border: 2px solid black;box-sizing: border-box;}</style>

在这里插入图片描述

3. 从父元素继承box-sizing:

	<div class="ParentBox"><div class="inherit">继承</div></div><style>.ParentBox{width: 100px;height: 50px;margin: 2px;padding: 2px;border: 2px solid black;box-sizing: border-box;}.inherit{width: 50px;height: 40px;margin: 2px;padding: 2px;border: 2px solid black;box-sizing: inherit;}</style>

在这里插入图片描述

二.BFC

BFC(Block formatting context)是W3C规范中的一个概念,是一个完全独立的渲染区域,它规定了内部的Block-level Box如何布局,让空间里的子元素布局不会影响到外面的布局,也不会受到外界的影响

特性:
1.内部的Box会在垂直方向,从顶部开始一个接一个地放置。
2.Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生叠加。
3.每个元素的margin box的左边,与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。
4.BFC的区域不会与float box叠加。
5.BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。
6.计算BFC的高度时,浮动元素也参与计算。
触发BFC的方式:
1.浮动元素(float不为none)。
2.绝对定位的元素(position为absolute或者fixed)。
3.overflow不为visible的块级元素。
4.display值为flex、flow-root 、inline-block、table-cell等。
可以解决以下问题:
1.浮动元素的父元素高度塌陷问题。
2. 两栏自适应布局问题。
3.外边距垂直方向重合问题。

1.父子关系的边距重叠(父子关系,如果子元素设置了外边距,在没有把父元素变成BFC的情况下,父元素也会产生外边距)
在这里插入图片描述
在这里插入图片描述

 <div class="parentBoxBFC1"><div class="BFCBox1"></div></div><style>.parentBoxBFC1{width: 200px;height: 100px;overflow:hidden;background-color: red;}.BFCBox1{width: 80px;height: 50px;margin: 20px;background-color: yellow;}
</style>

父盒子设置完overflow:hidden;后效果:

在这里插入图片描述
2.同级关系的边距重叠(同级元素在垂直方向上外边距会出现重叠情况,最后外边距的大小取两者绝对值大的那个))
在这里插入图片描述

<div class="BoxBFC1"></div>
<div style="overflow:hidden"></div>
<div class="BoxBFC2"></div>
<style>.BoxBFC1{width: 200px;height: 100px;background-color: red;margin: 100px;}.BoxBFC2{width: 200px;height: 100px;margin: 20px;background-color: yellow;}
</style>

添加一个空元素并设置overflow:hidden后的效果:

在这里插入图片描述

二.行内块级元素篇

1.常见的行内元素有:a,button,i,span,select,option,strog,b
2.常见的块级元素有:div p h1-h6 ul table form,dl-dt-dd,ul-li,ol-li…
3.常见的行内块级元素:img,input。
行内块元素结合了块级元素(block-level elements)和行内元素(inline elements)的特性。它们像块级元素一样可以设置宽度、高度、内外边距等,同时又像行内元素一样不会独占一行,可以和其他行内元素并排显示
4.块级元素的特点
1.独占一行,每一个块级元素都会从新的一行重新开始
2.排列方式:从上到下依次排布
3.可以直接控制宽度、高度以及盒子模型的相关css属性
4.在不设置宽度的情况下,块级元素的宽度是它父级元素内容的宽度,高度是它本身内容的高度
5.块级元素可以嵌套行内元素
6.ul/ol下面只能是li;dl下面只能是dt,dd;
7.p不能包裹其他块级元素包括它本身,可以嵌套行内元素
5.元素之间的相互转换
1.行内元素=> display: inline
2.块级元素=>display: block
3.行内块元素=>display: inline-block

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日OJ题_DFS解决FloodFill⑥_力扣529. 扫雷游戏

目录 力扣529. 扫雷游戏 解析代码 力扣529. 扫雷游戏 529. 扫雷游戏 难度 中等 让我们一起来玩扫雷游戏&#xff01; 给你一个大小为 m x n 二维字符矩阵 board &#xff0c;表示扫雷游戏的盘面&#xff0c;其中&#xff1a; M 代表一个 未挖出的 地雷&#xff0c;E 代表…

产品推荐 | 基于Intel (Altera) Cyclone V打造的水星Mercury SA1核心板

01 产品概述 水星Mercury SA1片上系统&#xff08;SoC&#xff09;核心板通过结合基于ARM处理器的SoC FPGA、快速DDR3L SDRAM、eMMC flash、QSPI flash、Gigabit Ethernet PHY和RTC形成了一个高性能嵌入式处理方案&#xff0c;结合了CPU系统的灵活性和FPGA原始的、实时的并行处…

【三维重建】摄像机标定(张正友相机标定法)

摄像机标定的目的是为了求解摄像机的内、外参数 求解投影矩阵M 通过建立特殊的场景&#xff0c;我们能过得到多对世界坐标和对应图像坐标 根据摄像机几何可知 &#xff1a; &#xff0c;M是一个3*4的矩阵&#xff0c;令 通过一对点可以得到两个方程组&#xff0c;M中一共有11…

36.Docker-Dockerfile自定义镜像

镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 镜像是分层机构&#xff0c;每一层都是一个layer BaseImage层&#xff1a;包含基本的系统函数库、环境变量、文件系统 EntryPoint:入口&#xff0c;是镜像中应用启动的命令 其他&#xff1a;在…

spring boot3单模块项目工程搭建-下(个人开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 上文衔接 常用依赖介绍以及整合 web组件 测试组件 样板代码生成 数据库连接器 常用工具包 面向切面编程 ORM框架 数据连接池 接口测试、文档导出 缓存中间件 参数校…

基于Java+SpringBoot+Vue前后端分离仓库管理系统详细设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

【图像增强(空域)】基于直方图增强的图像增强及Matlab仿真

1. 摘要 图像的灰度直方图表示灰度图像中具有每种灰度像素的个数&#xff0c;反映了图像中每种灰度级出现的频率&#xff0c;是图像的基本统计特征之一。直方图均衡方法因为其有效性和简单性已成为图像对比度增强的最常用的方法。其基本思想是根据输入图像的灰度概率分布来确定…

Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)

说在前面 搞了一下Jetson nano和YOLOv5&#xff0c;网上的资料大多重复也有许多的坑&#xff0c;在配置过程中摸爬滚打了好几天&#xff0c;出坑后决定写下这份教程供自己备忘。 事先声明&#xff0c;这篇文章的许多内容本身并不是原创&#xff0c;而是将配置过程中的文献进行…

Python期末复习知识点大合集(期末不挂科版)

Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09; 文章目录 Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09;一、输入及类型转换二、格式化输出&#xff1a;字符串的format方法三、流程控制四、随机数生成五、字符串六、序列索&#xff08;含…

Python 贪吃蛇

文章目录 效果图&#xff1a;项目目录结构main.pygame/apple.pygame/base.pygame/snake.pyconstant.py 效果图&#xff1a; 项目目录结构 main.py from snake.game.apple import Apple # 导入苹果类 from snake.game.base import * # 导入游戏基类 from snake.game.snake im…

小米手机短信删除了怎么恢复?这里教你快速解决!

手机已经成为我们生活中不可或缺的一部分&#xff0c;比如小米手机。我们通过手机进行通讯、娱乐、学习等各种活动&#xff0c;其中&#xff0c;短信是我们日常生活中的重要信息来源之一。然而&#xff0c;我们可能会不小心删除了一些重要的短信&#xff0c;这时候我们就会想知…

【 Qt 的“前世”与“今生”】Qt 的起源 | Qt 的发展历程 | 为什么选择 Qt | Qt 的授权模式 | Qt 版本选择 | Qt Widgets和QML | Qt 程序发布

目录 1、什么是 Qt ? 2、Qt 可以用来做什么&#xff1f; 3、Qt 的由来与发展 3.1、Qt 的起源与发展 3.2、Qt 发展经历的三家公司 4、为什么选择 Qt &#xff1f; 5、Qt 支持的平台 6、Qt 的授权模式 7、Qt 版本的选择 8、选择 QML 还是 Qt Widgets&#xff1f; 8.1…

RLC防孤岛负载测试的案例和实际应用经验有哪些?

RLC防孤岛负载测试是用于检测并防止电力系统出现孤岛现象的测试方法&#xff0c;孤岛现象是指当电网因故障或停电而与主电网断开连接时&#xff0c;一部分电网仍然与主电网保持连接&#xff0c;形成一个孤立的电网。这种情况下&#xff0c;如果电力系统不能及时检测到孤岛并采取…

2019年CSP-J入门级第一轮初赛真题

一&#xff0e;单项选择题(共 15 题&#xff0c;每题 2 分&#xff0c;共计 30 分&#xff1b;每题有且仅有一个正确选项) 中国的国家顶级域名是&#xff08; &#xff09; A. .cnB. .chC. .chnD. .china 二进制数 11 1011 1001 0111 和 01 0110 1110 1011 进行逻辑与运算的结果…

linux——主从同步

1. 保证主节点开始二进制日志&#xff0c;从节点配置中继日志 2. 从节点的开启一个 I/O 线程读取主节点二进制日志的内容 3. 从节点读取主节点的二进制日志之后&#xff0c;会将去读的内容写入从节点的中继日志 4. 从节点开启 SQL 线程&#xff0c;读取中继日志的内容&a…

当AI遇见现实:数智化时代的人类社会新图景

文章目录 一、数智化时代的机遇二、数智化时代的挑战三、如何适应数智化时代《图解数据智能》内容简介作者简介精彩书评目录精彩书摘强化学习什么是强化学习强化学习与监督学习的区别强化学习与无监督学习的区别 前言/序言 随着科技的日新月异&#xff0c;我们步入了一个前所未…

运维自动化之 ansible

目录 一 常见的自动化运维工具 &#xff08;一&#xff09;有哪些常见的 自动化运维工具 &#xff08;二&#xff09;为什么后面都变成用 ansible 二 ansible 基本介绍 1&#xff0c; ansible 是什么 2&#xff0c;ansible能干什么 3&#xff0c;ansible 工作原…

无人机+三维建模:倾斜摄影技术详解

无人机倾斜摄影测量技术是一项高新技术&#xff0c;近年来在国际摄影测量领域得到了快速发展。这种技术通过从一个垂直和四个倾斜的五个不同视角同步采集影像&#xff0c;从而获取到丰富的建筑物顶面及侧视的高分辨率纹理。这种技术不仅能够真实地反映地物情况&#xff0c;还能…

(双指针) 有效三角形的个数 和为s的两个数字 三数之和 四数之和

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、有效三角形的个数&#xff08;medium&#xff09; 1.1、题目 1.2、讲解算法原理 1.3、编写代码 二、和为s的两个数字 2.1、题目 2.2、讲解算…

笔记1--Llama 3 超级课堂 | Llama3概述与演进历程

1、Llama 3概述 https://github.com/SmartFlowAI/Llama3-Tutorial.git 【Llama 3 五一超级课堂 | Llama3概述与演进历程】 2、Llama 3 改进点 【最新【大模型微调】大模型llama3技术全面解析 大模型应用部署 据说llama3不满足scaling law&#xff1f;】…