CSS盒模型和BFC

Set、Map、WeakSet 和 WeakMap,盒模型,BFC规范。浮动元素,css精灵,transition,空间移动,缩放变形,过渡与动画,repeat平铺,contain和cover, 前端学习 阅读详情

CSS盒模型和BFC

  1. 为什么要了解BFC渲染机制?

    在开发过程中我们可能会遇到以下几种情况:

    • 垂直方向上元素margin的合并现象(嵌套元素)

      <div class="father">
          <div class="son"></div>
      </div>
      
      .father{
                  width:200px;
                  height:200px;
                  background: aquamarine;
              }
      .son{
                  width:100px;
                  height:100px;
                  background: #f4ff93;
                  margin-top:50px;
              }
      

      实际效果:父子元素同时向下移动50px

      问题:为什么父元素也会下移50px(父元素设置overflow:hidden可解决问题)?

    • 垂直方向上元素margin的合并现象(兄弟元素)

      <div class="borther1"></div>
      <div class="borther2"></div>
      
      .borther1{
                  width:100px;
                  height:100px;
                  background: aquamarine;
                  margin-bottom:60px;
              }
      .borther2{
                  width:100px;
                  height:100px;
                  background: #f4ff93;
                  margin-top:40px;
              }
      

      实际效果:兄弟元素之间实际间隔为60px

      问题:为什么实际间隔只有60px(重叠取较大值)?

    • overflow:hidden可以清除浮动造成的副作用

      <div class="father">
          <div class="son"></div>
      </div>
      
      .father{
                  width:200px;
                  border:2px solid red;
              }
              .son{
                  width:100px;
                  height:100px;
                  background: #f4ff93;
                  float:left;
              }
      

      实际效果:父元素出现塌方情况,为父元素添加overflow:hidden,可解决塌方问题

      问题:为什么为父元素添加overflow:hidden可解决塌方问题?

    • overflow:hidden配合浮动,可以实现2栏自适应布局

      <div class="wrapper">
          <div class="left"></div>
          <div class="right"></div>
      </div>
      
      .left{
                  width:300px;
                  height:100px;
                  background: aquamarine;
                  float: left;
              }
              .right{
                  height:100px;
                  background: antiquewhite;
                  overflow: hidden;
              }
      

      实际效果:两栏布局正常

      问题:为什么为右边的div添加overflow:hidden可以实现两栏布局?

  2. 盒模型

    css盒模型分为W3C盒模型和IE盒模型,一般默认为W3C盒模型

    • 盒模型四要素:margin 、border、padding、content
    • 区别:IE盒模型的width是从border开始计算的
    • 通过CSS3的box-sizing:border-box可以设置为IE盒模型
  3. BFC

    BFC (Block Formatting Context)块级格式化上下文,是css盒模型的渲染规则,渲染规则如下:

    • 创建了BFC的元素中,在垂直方向上的margin会发生重叠
    • BFC元素在页面上是独立的容器,外面的元素和里面的元素互不影响
    • BFC元素不会和浮动的元素重叠(两栏布局)
    • 计算BFC元素的高度时,里面浮动元素的高度也会参与计算(overflow:hidden清除浮动引发的塌方问题)
  4. 怎么用

    根元素html就是最大的BFC容器

    以下情况会触发BFC

    • float不为none
    • overflow不为visible
    • position不为static 和 relative
    • display:table-cell / table-caption / inline-block 任何一个
前端八股文,盒模型,cookie,浏览器本地存储,bfc规范,线程和进程,优雅降级,渐进增强,网站重构,隐藏元素,css sprites,浮动,FOUC,doctype,iframe IE6盒子模型与W3C盒子模型。文档中的每个元素被描绘为矩形盒子。盒子有四个边界:外边距边界margin, 边框边界border, 内边距边界padding与内容边界content。CSS3中有个box-sizing属性可以控制盒子的计算方式,content-box:padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding之和。(W3C盒子模型)border-box:padding和border被包含在定义的width和he 阅读详情

相关推荐

手把手教你用RC桥式振荡器生成1Hz-1MHz正弦波(附完整电路图)

本文详细介绍了如何从零构建RC桥式振荡器,实现1Hz-1MHz正弦波的生成。通过核心元件选型、参数设计、电路搭建与优化等步骤,帮助读者掌握振荡器的工作原理和实战技巧。特别适合电子实验和信号处理领域的初学者和工程师,附完整电路图和常见问题解决方案。

weixin_30338481的博客 466

CSS使用display:incline:元素放置在一行之内

https://www.cnblogs.com/Ry-yuan/p/6848197.html

思维小刀 817

40-基于STM32与LD3320的智能语音调光台灯开发全攻略(代码+硬件+调试心得)

本文详细介绍了基于STM32与LD3320的智能语音调光台灯开发全攻略,包括硬件设计、软件实现和调试心得。项目利用STM32单片机控制LD3320语音识别模块,实现语音控制开关和PWM调光功能,适合非接触式操作场景。文章还分享了硬件选型、PWM调光算法优化及常见问题解决方案,为开发者提供完整参考。

weixin_29163797的博客 324

前端面试(3)—— CSS盒模型及BFC

以上几点,从上到下,知识点逐渐递增,知识面从理论、CSS、JS,又回到CSS理论。接下来,我们把上面的六条,依次讲解。

乐夫天命兮的博客 424

2021秋招IC验证面经-ARM中国/中科芯/飞腾/地平线/中兴

中科芯 (央企福利待遇好,但是百分百不解决户口,适合当地人进去躺平。) 现场面试,三个面试官,时间大约40min 首先介绍一下自己,介绍一下项目。所做项目用到了FIFO吗,深度是多少,位宽是多少,仲裁算法是什么? 验证环境中的reference model是自己写的还是本身就有的,仲裁怎么在参考模型中实现,参考模型怎么获取寄存器的值? 怎么配置RTL寄存器,通过平台的寄存器模型进行寄存器配置,寄存器模型里边的方法,写一个寄存器或读一个寄存器怎么实现? 寄存器如何实现前门访问和后门访问,后门访问时

weixin_48014653的博客 6319

从零到一:TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南

本文详细介绍了TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南,涵盖硬件连接、软件配置、固件烧录、雷达参数设置及数据处理等关键步骤。通过MATLAB等工具,开发者可高效实现毫米波雷达数据采集,适用于自动驾驶、工业检测等领域。

weixin_29001327的博客 966

【CSS】CSS盒子模型和 BFC

CSS盒子模型及BFC规范

xueyinglys的博客 209

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

css盒模型与BFC详解

1:盒模型简介 先看一张图: 可以说,页面就是由一个个盒模型堆砌起来的,每个HTML元素都可以叫做盒模型,盒模型由外而内包括:边距(margin)、边框(border)、填充(padding)、内容(content)。它在页面中所占的实际宽度是margin + border + paddint + content 的...

liujiujiang的博客 662

基于opencv的鱼群检测和数量统计识别鱼群密度带界面

摘要:本项目利用OpenCV图像处理技术实现了视频鱼类自动检测计数系统。通过背景减除、形态学处理和轮廓检测等方法,在视频帧中标记鱼类并统计数量。系统包含视频读取、前景提取、轮廓分析、中心点跟踪等核心功能,可实时显示计数结果。适用于水产养殖、生态监测等领域,具有实用价值。未来可通过参数优化、引入深度学习和多目标跟踪技术进一步提升准确性。(147字)

1720

YOLOv11改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)

为了弥补现有 IoU 损失在不同检测任务中泛化性弱和收敛速度慢的问题,·Inner-IoU·通过引入比例因子 “ratio” 来控制辅助边界框的尺度大小,利用不同尺度的辅助边界框来计算损失,从而加速边界框回归过程。

Limiiiing的博客 3890

关于css盒子模型和BFC的理解

CSS盒子模型 包含元素内容(content)、内边距(padding)、边框(border)、外边距(margin) 一般元素总宽度 = element的width+padding的左右边距+margin左右边距值+border的左右宽度 高度同理 外边距合并 上下外边距会合并一般发生在普通文档流中,行内框,浮动框或绝对定位之间外边距不会合并 一般合并的外边距会取那个较...

aiqy91387的博客 567

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 304

一文带你了解CSS盒模型和BFC

前言 在读此文章之后也可以逛逛本人的博客,会持续更新文章的。 基本概念 所有HTML元素可以看作盒子,在CSS中,box model这一术语是用来设计和布局时使用。 CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。 盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。 下面的图片说明了盒子模型(Box Model): 不同部分的说明: Margin(外边距) - 清除边框外的区域,外边距是透明的。 Border(边框) - 围绕在内边距和内容外的边框。

qq_42335214的博客 254

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

(二)css盒模型和BFC

css盒模型和BFC

2301_76510083的博客 100

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

一面/二面(2)之CSS盒模型和BFC

BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

weixin_30980795的博客 223

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

CSS(三)面试题:盒模型+css选择器及优先级+重排和重绘+BFC

css面试的一些问题

wsz123456wsz的博客 953

谈一谈你对CSS盒模型的认识与BFC

专业的面试,一定会问 CSS 盒模型。对于这个题目,我们要回答一下几个方面: 基本概念:content、padding、margin 标准盒模型、IE盒模型的区别。不要漏说了IE盒模型,通过这个问题,可以筛选一部分人 CSS如何设置这两种模型(即:如何设置某个盒子为其中一个模型)?如果回答了上面的第二条,还会继续追问这一条。 JS如何设置、获取盒模型对应的宽和高?这一步,已经有很多人答不上来...

突维 529

CSS盒模型完整介绍

CSS盒模型完整介绍盒模型的认识一、基本概念:标准模型+IE模型二、标准模型和IE模型的区别三、css如何设置获取这两种模型的宽和高四、javascript如何设置获取盒模型对应的宽和高五、外边距重叠六 、BFC推荐阅读 你越是认真生活,你的生活就会越美好——弗兰克·劳埃德·莱特 《人生果实》经典语录 盒模型的认识 文章主要有以下内容 基本概念:标准模型+IE模型。 包括margin,border,padding,content 标准模型和IE模型的区别 css如何设置获取这两种模型的宽和高 js如何

陈坚泓的博客 8884

【前端面试】02 CSS盒模型及BFC

本文笔记基于「千古壹号」的GitHub项目:https://github.com/qianguyihao/web 文章目录1.问题2.解决方法2.1 基本概念2.2 如何设置两种盒模型2.3 JS如何设置、获取盒模型对应的宽和高2.4 margin塌陷/margin重叠2.5 边距重叠解决方案 1.问题 谈一谈你对CSS盒模型的认识? 延伸: 基本概念 标准盒模型与IE盒模型的区别 CSS如何设...

微子细的博客 379

前端面试必备总结:CSS盒模型与BFC

盒模型是css的基石,由什么是css盒模型一个问题引出下面一系列的问题,深度逐渐递增。 1.基本概念:标准模型+IE模型 2.标准模型和IE模型的区别 3.css如何设置这两种模型 4.JS如何设置获取盒模型对应的宽和高 5.根据盒模型解释边距重叠 6.BFC(边距重叠解决方案) 1.什么是css盒模型 css盒模型包括标准模型和IE模型。默认是标准模型 所有的HTML元素都可以看做盒子,css盒...

tomorrownan的博客 594

css盒模型、BFC

css盒模型 盒模型的概念 css定义所有的元素都可以项盒子一样的外形和平面空间,它是CSS布局的基石,规定了网页元素如何显示以及元素之间的相互关系; 盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型 盒模型的组成 css盒子模式都具备这些属性:内容(content)、填充(padding)、边框(border)、边界(margin) 标准模型和IE模型的区别,heig...

weixin_43748812的博客 313

css使两个盒子并列_CSS 的两种盒模型

概念CSS 盒模型本质上是一个盒子,盒子包裹着HTML 元素,盒子由四个属性组成,从内到外分别是:content 内容、padding 内填充、border 边框、外边距 margin盒模型的分类W3C 盒子模型(标准盒模型)IE 盒子模型(怪异盒模型)两种盒模型的区别宽度和高度的计算方式不同标准盒模型:width = content-width height = content-height 怪...

weixin_39947522的博客 2444

HTML/CSS面试题

盒模型 盒模型就是把一个元素表示成一个矩形盒子,包括content(内容),padding(内边距),border(边框),margin(外边距) 两种盒模型:标准盒子模型和IE盒模型的区别 标准盒模型的内容大小就是content IE盒模型的大小是content+padding+border 切换盒模型 通过设置box-sizing属性。标准盒模设置为content-box(默认)IE盒模型设...

liu_xiaoru的博客 388

BFC概念及其作用

CSS盒模型 了解BFC前先说下css盒模型,CSS盒模型的基本概念: 盒模型分为W3C盒模型和IE盒模型, 他们的区别是计算width和height的方式不同,IE盒模型的width是从border开始计算的。 如何设置CSS盒模型的类型 : 通过CSS3的 box-sizing:border-box就可以设置为IE盒模型了, 默认是W3C盒模型 BFC基本概念 BFC(Block Form...

守夜人16的博客 475
上一篇: promise
下一篇: React setState使用注意事项
codezha
博客等级 码龄10年 28粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值