首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

理解 Css 布局和 BFC

你可能从未听说过这个术语,但是如果你曾经用CSS做过布局,你可能知道它是什么,理解什么是 BFC,怎么工作以及如何创建 BFC 非常有用,这些可以帮助你理解CSS中的布局是如何工作的。...什么是 BFC 在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context)是按照块级盒子布局的。...块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...div> div class="text">I am textdiv> div> 带有 float 类的项被向左浮动,因此 div 中的文本在它环绕 float 之后。 ?...例如,使用overflow创建BFC后在某些情况下可能会看到出现一个滚动条或者元素内容被裁切。 这是由于overflow属性的设计是用来让你告诉浏览器如何定义元素的溢出状态的。

1.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    理解 CSS 布局和 BFC

    你可能从未听说过这个术语,但是如果你曾经用CSS做过布局,你可能知道它是什么,理解什么是 BFC,怎么工作以及如何创建 BFC 非常有用,这些可以帮助你理解CSS中的布局是如何工作的。...什么是 BFC 在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context)是按照块级盒子布局的。...块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...一种方法是使用 clearfix hack,它的作用是在文本和图像下面插入一个元素,并将其设置为 clear:both。另一种方法是使用 overflow 属性,其值不是缺省值 visible。...div> div class="text">I am textdiv> div> 带有 float 类的项被向左浮动,因此 div 中的文本在它环绕 float 之后。 ?

    1.2K00

    关于 CSS margin,一些让你模糊的点

    margin看起来是一个相当简单的事情,但是,在本文中,咱们将看一些在使用margin一些让人迷惑有有趣的事情。 特别是,margin之间如何相互作用,以及 margin 重叠效果。...除了下面提到的情况之外,如果有两个元素在正常流中依次显示,那么第一个元素的底部 margin 将与下面元素的顶部 margin 一起重叠。 在下面示例中,有三个div元素。...创建格式化上下文(BFC) BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。...将overflow属性的值设为auto也会产生同样的效果,因为这也创建了一个新的BFC,尽管它也可能创建一些在某些场景中不需要的滚动条。...margin-block margin-inline 在下面示例中,使用了这些流相关关键字,然后更改了盒子的编写模式,你可以看到 margin 是如何遵循文本方向的: html div class="

    1.3K20

    CSS Flexbox 布局完全指南 (二):3000字,多示例讲解

    在《CSS Flexbox 布局完全指南 Part 1(含示例)》中,我们介绍了如何用 Flexbox 制作一个影片集,如何通过 Flexbox 布局卡片,如何使用 Flexbox 创建网格布局。...示例四:如何使用 Flexbox 构建网站布局 社区的伙伴们通常不建议整个网站布局都使用 Flexbox。 虽然我赞同这个观点,但是我也认为在特定的情况下你可以不用考虑这么多。...我能给到最重要的一点建议是:在你需要的时候使用 Flexbox 布局。 我会在下面的例子中解释这点。 圣杯布局 “圣杯布局”是经典的布局方式。 ?...带有 emoji 表情的媒体对象 用一个包含相应编码的 div 来替换 img,显示想要的表情。你可以在 https://emojipedia.org/ 获取更多的 emoji 表情。...来创建一个手机 App 布局 在这个例子中,我会带你一起来写如下的手机应用布局: ?

    2K20

    关于css margin,你需要知道的一切

    margin看起来是一个相当简单的事情,但是,在本文中,咱们将看一些在使用margin一些让人迷惑有有趣的事情。 特别是,margin之间如何相互作用,以及 margin 重叠效果。...除了下面提到的情况之外,如果有两个元素在正常流中依次显示,那么第一个元素的底部 margin 将与下面元素的顶部 margin 一起重叠。 在下面示例中,有三个div元素。...创建格式化上下文(BFC) BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。...将overflow属性的值设为auto也会产生同样的效果,因为这也创建了一个新的BFC,尽管它也可能创建一些在某些场景中不需要的滚动条。...margin-block margin-inline 在下面示例中,使用了这些流相关关键字,然后更改了盒子的编写模式,你可以看到 margin 是如何遵循文本方向的: html div class="

    1.3K40

    两个CSS知识点:BFC和选择器权重

    BFC BFC 全称 Block Formatting Context,翻译过来就是块格式化上下文,它是 CSS 规范的一部分。 可以用一些 CSS 属性为一个元素创建出 BFC。...决定元素的内容如何渲染以及与其他元素的关系和交互。BFC 有一个重要的特点:具有隔离作用。... div> 效果: ? 文字环绕 但有时候浮动会影响到周围元素,尤其是把周围元素遮盖住,这是我们不希望看到的。 CSS 提供了 clear 属性可以给一个元素清除浮动。...CSS 属性,也不是一段代码,而是 CSS2.1 规范中的一个概念,决定元素的内容如何渲染以及与其他元素的关系和交互。...除此之外,还有一种格式: [attr operator value i] 它表示在属性选择器的右方括号前添加一个用空格隔开的字母 i(或 I,大小写不敏感),可以在匹配属性值时忽略大小写。

    83610

    jQuery 快速入门教程

    前者是jQuery库的源代码版本,它带有注释信息,建议你在开发环境中使用该文件,以便于调试或阅读源代码。...在jQuery库中实际上定义了一个jQuery()方法,它是jQuery库的核心。我们调用该方法并传入指定的参数,就可以返回一个jQuery实例对象,该对象中包含匹配的一个或多个DOM元素。...在jQuery中,我们一般通过一个字符串来标识匹配的元素,例如: $("#uid"); // 选取id属性为"uid"的单个元素 $("p"); // 选取所有的p元素 $(".test"); // 选择所有带有...show()类似 /* 下面的slide*、fade*系列方法与上面的show()、hide()、toggle()等方法作用相同, * 用法也类似,只是带有不同的动画效果 */ $("selector...你可以使用animate()方法设置CSS样式,并执行一个从当前样式到指定样式的过渡动画效果。

    13.7K30

    jQuery格式化显示json数据

    注意:部分key前面有一个减号,点击减号,就可以收缩了。点击加号,可以展开。 但是这样有一个问题,我需要用鼠标copy时,会带有减号。复制之后,就是一个错误的数据!!!...这个才是我们想要的效果,注意:它有竖条,可以方便查看层级关系。 而且copy数据时,也不会带有多余的符号。点击三角形符号,也可以方便收缩和展开!!...但是jq22.com 提供的插件,有一个textarea输入框,我需要把它给去掉。 默认json格式化的数据中,key是没有带双引号的,我需要默认勾选它,因此要修改js代码。...三、嵌入到Django项目中 创建django项目 使用Pycharm创建一个Django项目,项目名为:json_view ?...创建静态目录 在项目根目录创建 static 文件夹,在static 文件夹里面,创建 plugins 文件夹。 将上面修改好的插件,复制到此目录。

    7.1K30

    你不知道的SVG

    Jimmy Chion探讨了我们如何只用少量的CSS和SVG就能为渐变添加纹理。用颗粒状的SVG渐变实现了一个迷人的全息类型的效果。诀窍是使用SVG滤镜来创建噪点,然后将该噪点作为背景。...因为有多种方法可以在CSS或SVG中创建这样的效果,他决定探索每一种解决方案带来的利弊。如果你想创建一个切割效果,Ahmad Shadeed会帮助你找到适合你使用情况的最佳技术。...在他的博文 "思考裁剪效果"中,艾哈迈德看了裁剪效果的三个不同的用例:一个带有裁剪状态徽章的头像,表示用户当前在线;一个由重叠的圆形头像组成的 "已见头像",表示在群聊中看到了一条信息;以及一个带有圆形标志后面裁剪区域的网站头像...Samuel Kraft解释了它是如何工作的。塞缪尔-卡夫(Samuel Kraft)提出了一个巧妙的技巧,即只用CSS和SVG来创建SVG五星制打分效果。...SVG提供了形状,CSS处理了颜色,而mask-image则通过隐藏底层div中与形状不相交的东西来完成重任。这是一个聪明的方法,可以作为一些有趣实验的基础。

    3.8K21

    你所不知道的 CSS 动画技巧与细节

    当你不想使用 CSS 默认提供的 linear、ease-in、ease-out 之类缓动函数的,可以自定义 cubic-bezier(1, 1, 0, 0),这里有个非常好用的工具推荐,下面这个网站,...使用这个技巧(也许算不上技巧,纯粹好玩),我们可以制作出一些有趣的效果,例如下面这个感觉是利用就 JS 才完成的动画,其实是纯 CSS 动画: ?...先说结论,动画层级的控制的意思是尽量让需要进行 CSS 动画的元素的 z-index 保持在页面最上方,避免浏览器创建不必要的图形层(GraphicsLayer),能够很好的提升渲染性能。...简单来说,浏览器为了提升动画的性能,为了在动画的每一帧的过程中不必每次都重新绘制整个页面。在特定方式下可以触发生成一个合成层,合成层拥有单独的 GraphicsLayer。...运用了上面提到的一些小技巧,参考了一些 CodePen 上的效果,整了个下述的 3D 数字计数效果,纯 CSS 实现,效果图如下: ?

    65630

    你所不知道的 CSS 动画技巧与细节

    当你不想使用 CSS 默认提供的 linear、ease-in、ease-out 之类缓动函数的,可以自定义 cubic-bezier(1, 1, 0, 0),这里有个非常好用的工具推荐,下面这个网站,...使用这个技巧(也许算不上技巧,纯粹好玩),我们可以制作出一些有趣的效果,例如下面这个感觉是利用就 JS 才完成的动画,其实是纯 CSS 动画: ?...先说结论,动画层级的控制的意思是尽量让需要进行 CSS 动画的元素的 z-index 保持在页面最上方,避免浏览器创建不必要的图形层(GraphicsLayer),能够很好的提升渲染性能。...简单来说,浏览器为了提升动画的性能,为了在动画的每一帧的过程中不必每次都重新绘制整个页面。在特定方式下可以触发生成一个合成层,合成层拥有单独的 GraphicsLayer。...运用了上面提到的一些小技巧,参考了一些 CodePen 上的效果,整了个下述的 3D 数字计数效果,纯 CSS 实现,效果图如下: ?

    93931

    分享10个超实用的高级 CSS 技巧

    h1元素添加到下面的div中,CSS自动在每个h1标签前面添加数字,无需开发人员手动输入或使用JS。...使用它,我们可以设置元素的内容应如何与其父元素和背景混合。在本例中是一个 img 元素。 在这里,你可以看到我使用了两张图像:一张是彩色的,另一张是黑色的,并且都有白色背景。...我将仅使用 CSS 删除图像的背景,而不使用任何图像编辑软件。 要从彩色图像中删除白色背景,你可以使用带有值乘的 mix-blend-mode CSS 属性。...CSS翻转 你可以使用带有缩放函数的变换属性在 CSS 中水平或垂直翻转图像。...要实现这种效果,只需使用 1 个 CSS 规则即可将文本颜色与周围背景混合 h1{ mix-blend-mode: difference; } 差异混合模式从背景的颜色值中减去内容的颜色值,创造出引人注目的视觉效果

    15510

    如何使用Tailwind CSS轻松设计惊艳的进度条

    在这篇博客文章中,我们将探讨进度条的威力以及如何使用流行的实用型CSS框架Tailwind CSS轻松创建它们。让我们开始吧! 为什么进度条很重要?...带有标签的进度条 在进度条上添加一个标签可以提供额外的上下文。我们可以通过在进度条内部包含一个文本元素来实现这一点。...div> div> div> 这段代码片段创建了一个带有条纹动画效果的进度条。...结束 在整片文章中,我们探讨了如何使用Tailwind CSS创建美观且可定制的进度条。...我们首先创建了基本的圆角和纤细的进度条,然后在进度条上添加了标签,为用户提供了额外的上下文信息。 为了增加视觉效果,我们尝试了带有条纹效果的动画进度条。

    87250

    掌握这些CSS知识点,Coding如飞!

    整理了一些在CSS(层叠样式表)中的知识点,或许你曾看过一些什么“万字总结”、“面试必看”,但还是希望更多同学能够沉下心来学习,不仅仅满足于停留在“API工程师”的层面,多从CSS约定的规则去解释现象。...之前团队里大佬洪岩问:“如何实现一个高度是自适应宽度3倍的图片?”...margin区域折叠是一个BFC(块级格式化上下文)的问题,两个div属于同一个BFC。父子元素margin-top塌陷,兄弟元素margin重合取较大值。...若想要避免,则需要让两个相邻设置了margin的元素都变成一个BFC。 创建BFC的常见CSS属性值?...上述是笔者对flex使用经验的一些精简总结,另外推荐大家阅读《Flexbox布局中不为人知的细节 - Alibaba F2E》,从原理层解读,研读完非常受用。

    1K20

    【网页前端】CSS进阶之复合选择器

    class="d1">我想和 span 样式一样div> div>我不想和别人样式一样div> 示例: 效果: 注意: * 通配符选择器因为效率极低,所以不建议使用。...常见的结构伪类值: 示例代码: 1.4 伪类和伪元素的区别(了解) 1 、伪元素:不是 HTML 上真正的元素,在 HTML 不存在,可以为 HTML 中某元素的内容体追加 更细致...在 css 产生作用时,才会有创造一个新元素的效果。...:before :after :first-letter :first-line 以上效果都好像在内容体中追加了一个带有特殊样式的 span 2 、伪类选择器:可以为 HTML...中真正存在的元素 设置更细致效果(某个动作的效果、某个子元素 效果) 在 CSS 产生作用时,不会有创造新元素的效果,仅会在已有元素上设置效果。

    46430

    百度Web前端技术学院(1)-HTML, CSS基础

    写点东西记录一下我的做题过程吧。 CSS 如何工作 CSS 如何工作 Mozilla 的开发者文档讲的很好。 浏览器在展现一个文档的时候,必须要把文档内容和相应的样式信息结合起来展示。...每个 ID 在文档中必须是唯一的。 在写样式表时,ID 选择器是以 #开头的。 优先级 如果多余一个规则指定了相同的属性值都应用到一个元素上,CSS 规定拥有更高确定度的选择器优先级更高。...: myFirstFont; } CSS3 字体描述符 下面的表格列出了能够在 @font-face 规则中定义的所有字体描述符: 描述符 | 值 | 描述 font-family |name | 必需...盒模型及定位 已知宽度的 div 居中 用两种方法来实现一个背景色为红色、宽度为 960px 的 在浏览器中居中 我的方法一: 使用 margin:0 auto; html 文件 <!...) 块格式化上下文 (block formatting context) div 三列等高 纯 CSS 实现三列 DIV 等高布局 最关键的地方有 3 句: 最外层 div 设置一个溢出隐藏 #wrap

    1K30

    由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)

    3.BFC         BFC(Block Formatting Context 块格式化上下文):是W3C CSS 2.1 规范中的一个概念,在CSS3中被修改为flow root。...格式化则表明了在这个环境中,元素处于此环境中应当被初始化,即元素在此环境中应当如何布局等。元素如果创建了BF么BFC决定了如何对其内容进行定位,以及它与其他元素的关系和相互作用。...创建了BFC的元素会按照如下的方式对其子元素进行排列: 在BFC中,盒子从顶端开始垂直地一个接一个地排列,两个盒子之间的垂直的间隙是由他们的margin 值所决定的。...在一个BFC中,两个相邻的块级盒子的垂直外边距会产生折叠。即是在BFC中相邻的块级元素的垂直边距会折叠(collapse)。...在BFC中,每一个盒子的左外边缘(margin-left)会触碰到容器的左边缘(border-left)(对于从右到左的格式来说,则触碰到右边缘), 即使存在浮动也是如此(尽管一个子元素的内容区域会由于浮动而压缩

    1.1K50

    CSS中的混合模式,制作高级特效的必备技巧 进入mix-Blend-Mode

    根据维基百科: 数字图像编辑和计算机图形中的混合模式(或混合模式)用于确定两个图层如何相互混合。在大多数应用程序中,默认的混合模式只是通过用顶层的内容覆盖底层来隐藏底层。...带文字的图片 我认为这是一个广泛使用的混合模式。文字在上面,图片在下面。 ?...例如,我们可以通过创建动画来提高创意。 ? 在此示例中,我想探讨文本如何与树叶背景融合。 由于图像中包含暗点和亮点,因此在使文本看起来像在每片叶子下移动一样,这将起到非常有用的作用。 ?...带有SVG图形的文本 个有趣的效果是在带有矢量和形状的背景上有一个标题。 当形状的颜色不同时,它会变得更加有趣。 ? 我们能用这些斑点形状做什么?我使用MorphSVG插件改变每个博客形状的路径。...如果要添加悬停效果以填充三角形怎么办? 由于在SVG中减去了形状,因此这是不可能的。 一种解决方法是在SVG后面放置一个圆圈,并在悬停时对其进行着色。 ? 对我来说,这还不够。

    3.5K40

    手把手教你使用CSS3为文本和元素实现添加阴影效果

    使用CSS3,你可以为文本和元素添加阴影。 一、浏览器支持 表中的数字指定完全支持该属性的第一个浏览器版本。 数字后面的 -webkit- 或者 -moz- 使用时需要指定前缀。...在最简单的用法中,只指定水平阴影和垂直阴影: 一个黄色的 div> 元素使用一个黑色box-shadow div { width: 300px; height:...下一步,添加一个颜色到阴影,对阴影添加模糊效果: 一个黄色的 div>元素带模糊红/灰 box-shadow。...案例 添加阴影到 ::before 和 ::after 伪类中, 来创建一个有趣的效果。 <!...四、总结 本文基于CSS基础,使用CSS语言。介绍了有关CSS阴影效果的应用,从基础的文本阴影入手, 对CSS常见的阴影表示效果都做了一一的讲解。通过一个个实例的演示,实例运行的效果图。

    1.3K20
    领券