bfc 是什么

子凡 2019-06-19 09:32:35
问答

BFC即 Block Formatting Contexts (块级格式化上下文), 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

BFC 即 Block Formatting Contexts (块级格式化上下文), 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

css

具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。通俗一点来讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。

一个块格式化上下文(block formatting context) 是 Web 页面的可视化 CSS 渲染出的一部分。它是块级盒布局出现的区域,也是浮动层元素进行交互的区域。一个块格式化上下文由以下之一创建:

  • 根元素或其它包含它的元素
  • 浮动元素 (元素的 float 不是 none)
  • 绝对定位元素 (元素具有 position 为 absolute 或 fixed)
  • 内联块 (元素具有 display: inline-block)
  • 表格单元格 (元素具有 display: table-cell,HTML 表格单元格默认属性)
  • 表格标题 (元素具有 display: table-caption, HTML 表格标题默认属性)
  • 具有 overflow 且值不是 visible 的块元素,
  • display: flow-root
  • column-span: all 应当总是会创建一个新的格式化上下文,即便具有 column-span: all 的元素并不被包裹在一个多列容器中。
  • 一个块格式化上下文包括创建它的元素内部所有内容,除了被包含于创建新的块级格式化上下文的后代元素内的元素。

块格式化上下文对于定位 (参见 float) 与清除浮动 (参见 clear) 很重要。定位和清除浮动的样式规则只适用于处于同一块格式化上下文内的元素。浮动不会影响其它块格式化上下文中元素的布局,并且清除浮动只能清除同一块格式化上下文中在它前面的元素的浮动。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • IPv6 DNS

    IPv6 DNS是什么

    IPv6 DNS是一项重要的互联网技术,将域名解析为IPv6地址。它支持扩展IP地址池、IPv6与IPv4设备互通、提高性能和安全性。要启用IPv6 DNS,需检查ISP支持、配置路由器、设置IPv6 DNS服务器,并确保设备正确配置。
  • Quad9 DNS

    Quad9是什么

    Quad9是一个非营利的智能DNS服务,旨在提供更快速、更安全的互联网连接。它专注于阻止已知的恶意网站,保护用户的隐私,提供高性能的DNS解析服务。使用Quad9只需更改DNS设置,它是免费的,不记录用户数据。
  • 114DNS

    114DNS是什么

    114DNS是以多个基础电信运营商自用的DNS系统为基础,通过扩展而建成专业的第三方高可靠DNS服务平台,旨在提供更快、更稳定和更安全的DNS解析体验。它通过全球分布的节点提供更快速的解析速度,减少不稳定性,采用高级的DNSSEC技术保障安全性,并易于配置。
  • OneDNS

    OneDNS是什么

    OneDNS是一项革命性的DNS技术,旨在提高互联网连接速度和安全性。通过全球分布式网络、加密通信和恶意网站拦截等特性,OneDNS实现了更快的网页加载、更高的安全性和更好的隐私保护。用户只需配置设备或路由器,而且OneDNS不记录查询日志,保护用户隐私。
  • OpenDNS

    OpenDNS是什么

    OpenDNS是一种DNS安全服务,用于提高互联网安全和性能。它通过拦截恶意网站、过滤不适宜内容、提供监控和报告工具以及提高网络响应速度,保护个人和企业免受潜在威胁,并提供更好的互联网体验。配置OpenDNS需要创建帐户、更改DNS设置和自定义安全规则。
  • 腾讯云 DNSPod Public DNS

    DNSPod Public DNS是什么

    DNSPod Public DNS是由腾讯云DNSPod提供的公共DNS服务,旨在提供更快、更安全、更可靠的DNS解析体验。它具有快速解析、高可靠性、隐私保护和安全性等优势,有助于改善互联网用户的体验和网络安全。配置DNSPod Public DNS用户可以加快网页加载速度、防止恶意网站访问、保护隐私数据,并提高在线安全性。