首页 web前端 css教程 如何创建块级格式化上下文?块级格式化上下文的作用

如何创建块级格式化上下文?块级格式化上下文的作用

Aug 03, 2018 pm 05:44 PM

css中块级格式化上下文是什么?块级格式化上下文(Block Formatting Context)是网页CSS视觉渲染的一部分,并用于决定块盒子的布局。在定位体系(Positioning Scheme)中它属于常规流(Normal Flow),那么如何创建块级格式化上下文?创建块级格式化需要满足哪些条件?本文将给你一一说明。

FC(Formatting Context)翻译过来就是格式化上下文/格式化范围,指的是页面布局中的一块区域,它拥有自己的渲染规则,决定自己的子元素如何布局,并和其他元素的关系和作用。

根据css显示分类,xhtml元素被分为三种类型:块状元素,内联元素,可变元素。给页面元素加样式的时候我们得知道这个元素是什么类型,然后可以自己对元素类型转化。就像我们可以通过display来让某个内联元素变成块状元素(display:block)。有几个特别的元素img,input默认是inline-block;

什么是块状格式化上下文(BFC)?相当于一个特殊的区域。

如果一个元素符合了成为BFC的条件,该元素成为一个隔离了的独立容器,元素内部元素会垂直的沿着其父元素的边框排列,和外部元素互不影响 。

触发 BFC 的条件如下:

1、浮动元素,float 除 none 以外的值

2、绝对定位元素,position(absolute,fixed)

3、display 为以下其中之一的值 inline-blocks,table-cells,table-captions。//就是不是块级盒子的块容器

4、overflow 除了 visible 以外的值(hidden,auto,scroll)

满足了上面这四个条件之一,就能够创建块级格式化上下文,它里面的内容所处的环境就是块级格式化上下文的环境。

在 CSS3 中,BFC 叫做 Flow Root,并增加了一些触发条件:

1、display 的 table-caption 值

2、position 的 fixed 值,其实 fixed 是 absolute 的一个子类,因此在 CSS2.1 中使用这个值也会触发 BFC ,只是在 CSS3 中更加明确了这一点。

元素设置 IE 特有的 CSS 属性 zoom: 1 触发 hasLayout ,zoom 用于设置或检索元素的缩放比例,值为“1”即使用元素的实际尺寸,使用 zoom: 1 既可以触发 hasLayout 又不会对元素造成其他影响,相对来说会更为方便。这是ie下的情况

块级格式化上下文(BFC)的作用:

(1) BFC 会阻止外边距折叠

我理解折叠的意思就是外边距会重叠,并不会分的很清,就像你的就是我的,我的也是你的。

外边距折叠的规则:仅当两个块级元素相邻并且在同一个块级格式化上下文时,它们垂直方向之间的外边距才会叠加。也就是说,即便两个块级元素相邻,但当它们不在同一个块级格式化上下文时它们的边距也不会折叠。因此,阻止外边距折叠只需产生新的 BFC 。

但是对于两个相邻元素来说,意义不大,没有必要给它们加个外壳,但是对于嵌套元素来说就很有必要了,只要把父元素设为BFC就可以了。这样子元素的margin就不会和父元素的margin发生折叠了。

(2) BFC 可以包含浮动的元素

 这说明BFC中子元素不会超出他的包含块,而position为absolute的元素可以超出他的包含块边界

(3) BFC 可以阻止元素被浮动元素覆盖

 这是根据每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。这个原理实现的。

相关文章推荐:

CSS > 译文:理解CSS中的块级格式化上下文_html/css_WEB-ITnose

CSS理解块级格式上下文BFC

块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解_html/css_WEB-ITnose

以上是如何创建块级格式化上下文?块级格式化上下文的作用的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom 每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom Apr 17, 2025 am 10:55 AM

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

与部分元素的交易 与部分元素的交易 Apr 12, 2025 am 11:39 AM

同一天发表了两篇文章:

带有HTML对话框元素的一些动手 带有HTML对话框元素的一些动手 Apr 16, 2025 am 11:33 AM

这是我第一次查看HTML元素。我已经意识到了一段时间,但是尚未将其旋转。它很酷,

多脚步滑块:一般案例 多脚步滑块:一般案例 Apr 12, 2025 am 10:52 AM

这个两部分系列的第一部分详细介绍了我们如何获得两次跑步的滑块。现在,我们&#039;

我们如何标记Google字体并创建Goofonts.com 我们如何标记Google字体并创建Goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google

它全部都在头上:管理带有React头盔的React Power Site的文档头 它全部都在头上:管理带有React头盔的React Power Site的文档头 Apr 15, 2025 am 11:01 AM

文档负责人可能不是网站上最迷人的部分,但是其中所处的内容对于您的网站的成功也一样重要

See all articles