前端三件套之css(5) BFC

这篇具有很好参考价值的文章主要介绍了前端三件套之css(5) BFC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

什么是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) 浮动之解决父容器高度塌陷方法二)文章来源地址https://www.toymoban.com/news/detail-525778.html

到了这里,关于前端三件套之css(5) BFC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【前端可视化】前端大屏适配方案

    动态设置 html 根字体的大小和 body 字体大小(使用 lib_flexible.js) 将设计稿的宽(1920)平均分成 24 等份,每一份 80px; html 根字体大小就设置为 80px,即 1rem = 80px,24rem = 1920px(移动端推荐分为 10 份); 将 body 字体大小设置为 16px; 最后需要使用插件或者其他方式将 px 转为 rem 单位:

    2024年02月11日
    浏览(43)
  • 【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析

    目录 前言 influxDB 安装运行InfluxDB 用Python 上报数据到influxdb ocust 数据写入到 influx Locust的生命周期 上报数据 优化升级 配置Grafana 总结  资料获取方法 在进行性能测试时,我们需要对测试结果进行监控和分析,以便于及时发现问题并进行优化。 Locust在内存中维护了一个时间序

    2024年02月14日
    浏览(41)
  • 大数据前端可视化大屏--前端开发之路

    从2016年开始接触可视化方向,一直想写一篇文章回顾一下这几年踩过的坑,接下来的这段时间里我会不定时的给大家分享一些可视化方面的经验和感悟,发出来跟大家一块分享一下、一起讨论讨论、共同学习进步。 这篇文章作为开端,之后会不定时的发出一系列的采坑记录

    2023年04月09日
    浏览(46)
  • 前端可视化数据大屏(1)

    效果图 技术架构:datav,vue2,echarts 我们一步一步的来实现一个简单的可视化数据大屏,开始吧!!         太简单了,百度上可以搜索,我这里就不多说了,把router装好就行         2.1在控制台上输入命令下载datav         2.2 将datav的组件注册为全局组件              

    2024年02月06日
    浏览(49)
  • Echarts前端可视化库使用教程

    ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。 官网:https://echarts.apache.org/zh/inde

    2024年02月10日
    浏览(48)
  • 大数据系列 | 阿里云datav数据可视化(使用json文件生成可视化动态图标)

    简介 DataV 数据可视化是搭建每年天猫双十一作战大屏的幕后功臣,ECharts 是广受数据可视化从业者推崇的开源图表库。从今天开始,DataV 企业版接入了 ECharts 图表组件,当你使用 DataV 搭建可视化项目时,可以轻松地插入 ECharts,这意味着更丰富多样的图表效果,也让编程小白

    2024年02月12日
    浏览(58)
  • HTML5+CSS3+JS小实例:音频可视化

    实例:音频可视化 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 【CSS】

    2024年01月18日
    浏览(44)
  • 基于HTML+CSS+Echarts大屏数据可视化集合共99套

    基于HTML/CSS/Echarts的会议展览、业务监控、风险预警、数据分析展示等多种展示需求可视化集合。 Java+Swing实现学生选课管理系统 Java+Swing实现学校教务管理系统 Java+Swing+sqlserver学生成绩管理系统 Java+Swing用户信息管理系统 Java+Swing实现的五子棋游戏 基于JavaSwing 银行管理系统

    2024年02月12日
    浏览(41)
  • html+css+js本地音乐播放器,实现可视化音频频谱

    html+css+js本地音乐播放器,实现可视化音频频谱 之前用swing写了个本地音乐播放器(如下图),但是效果一言难尽,界面丑,功能bug也多,唉 所以后面又重新用html写了个,界面样式和功能方面,比swing写的好看、完善多了。 导入音乐(已完成) 展示列表(已完成) 列表双击

    2024年02月09日
    浏览(48)
  • 前端大屏可视化适配方案(通用模板,快速上手)

    在日常前端开发中,大屏项目是每个前端开发者必备技能,但是目前设备尺寸大小和分辨率都不相同,所以大屏适配成了一个头疼的问题。看到网上的实现方案有rem,flexible,zoom,百分比,总感觉没那么完美,于是自己研究了一下也借鉴了网上大神的方法,实现了一下这三种

    2024年02月12日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包