前端三件套之css(5) BFC

news/2024/10/17 23:35:36/

目录

什么是BFC

能触发BFC的标签或属性

BFC布局的标准规则


什么是BFC

BFC全称(Block formatting context) 意为:"块级格式化上下文"。 

它就像我们学校分班级一样,虽然都是一个学校,但是每个班是独立的,不相干扰的。

<div class="main"><div class="left">这是div1</div><div class="right">这是div2</div>
</div>

例如上述的三个div,"main" 有两个子标签 "left" 和 "right" ,BFC的作用就是分别让这两个子标签形成独立的容器,left 的属性不会应用到 right 中。

能触发BFC的标签或属性

1:根元素<html>  (相当于最外层的网页界面的子元素自动遵守BFC规则排列)

2:浮动(float : left 及 float : right)

3:绝对定位和固定定位(position: absolute及position: fixed)

4:设置行内块元素和弹性布局(display:inline-block,flex)

5:内容隐藏(overflow:hidden)

仔细观察,它们都有一个共同的特性:脱离文档流。换句话说,能脱离文档流就会触发BFC。

BFC布局的标准规则

虽然BFC会让容器独立,但是布局的规则还是不变的

1:触发BFC规则的标签,他内部的子标签只能在垂直方向一个一个排列,而不能横着排。

2:内部子标签垂直方向的距离由外边距由margin决定,并且两个相邻子标签外边距会重叠,谁的外边距大,就显示多少

3:计算距离时,会优先考虑top,bottom等定位,再考虑外边距

4:触发BCF的容器不会与其他触发BFC的容器重叠,只会相应的排在后面

5:由于继承关系,子容器的上外边距会传递给父元素,这时让父元素触发BFC形成独立容器,那么子元素将不会将上边距传给父元素

6:触发BFC的元素中,若子容器脱离文档流,那么计算高度时,也会计算子容器高度(该规则的体现见css(3) 浮动之解决父容器高度塌陷方法二)


http://www.ppmy.cn/news/743001.html

相关文章

在Rust中使用torch------day1环境配置Yolov8推理

现在不管什么专业,貌似多多少少都得和深度学习扯上点关系才好写文章(水文章).其中最常用的深度学习框架应该是tensorflow,pytorch这些python的三方库,既然最近在学Rust那就来借机讲讲torch的Rust绑定—tch-rs 其实tch实际上是基于libtorch的封装,而不是pytorch.因此使用起来如…

python爬取小说

import requests from lxml import etree import time Main_url“https://www.biquge9.com” def Get_Url(url):#获取主页 header {“User-Agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/1…

java中 像素、英寸、厘米的换算

这两天用swing写打印&#xff0c;不知道怎么调打印纸张大小&#xff0c;setSize(width, height)里面的参数的单位是点(像素)&#xff0c;不知道怎么转成厘米。但是从下载的资料里都看到这样一句&#xff1a;页面大小以点为计量单位&#xff0c;1点为1英才的1/72&#xff0c;1英…

C语言如何创建和使用多文件项目,并进行模块化开发?

首先&#xff0c;让我解释一下什么是多文件项目和模块化开发。当你的代码变得越来越复杂时&#xff0c;将所有的代码都放在一个文件里会变得非常混乱。这时&#xff0c;你可以将不同的功能或模块放在不同的文件中&#xff0c;每个文件负责一个特定的任务。这样做不仅使代码更易…

2-1. 厘米换算英尺英寸

如果已知英制长度的英尺foot和英寸inch的值&#xff0c;那么对应的米是(footinch/12)*0.3048。现在&#xff0c;如果用户输入的是厘米数&#xff0c;那么对应英制长度的英尺和英寸是多少呢&#xff1f;别忘了1英尺等于12英寸。 输入格式&#xff1a; 输入在一行中给出1个正整数…

RK android13默认横屏

实现 默认横屏有两套方案 : 第一种方式:目录 device/rockchip/rk356x/BoardConfig.mk SF_PRIMARY_DISPLAY_ORIENTATION := 90 # For Recovery Rotation recovery界面 TARGET_RECOVERY_DEFAULT_ROTATION ?= ROTATION_RIGHT 实际上 build/make/core/Makefile ifdef TARGE…

JavaWeb学习笔记1

目录 web标准 三个组成部分 HTML 标题标签 水平线标签 换行标签 图片标签 布局标签&#xff1a; 超链接标签 属性&#xff1a; 视频标签&#xff1a; 音频标签&#xff1a; 段落标签&#xff1a; 文本加粗标签&#xff1a; 表格标签 表单标签 表单项 CSS Css引入方式…

解决微信中下载APP

微信是目前超高活跃度的app稳稳第一名&#xff0c;是目前最具营销价值的营销渠道之一。 很多朋友应该都遇到过这样的问题&#xff0c;微信中是无论是扫描二维码下载还是下载页链接下载apk&#xff08;APP&#xff09;&#xff0c;都是无法下载的&#xff0c;我们要怎么解决这个…