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

理解 CSS 布局和 BFC

块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...这个 div 包含两个标签 p。外部 div 元素的 margin-bottom 为 40 像素,标签 p 的顶部和底部 margin 都是 20 像素。...margin 和外部 div 上的 margin 之间没有任何东西,所以两个会折叠,因此 p 最终与 div 的顶部和底部齐平。...我们在 p 的上方和下方看不到任何灰色。 ? 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。...浮动项还为该项创建了一个 BFC,因此,如果右边的列比左边的列高,那么我们的列就不会相互环绕。

1.2K00

理解 Css 布局和 BFC

块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...这个 div 包含两个标签 p。外部 div 元素的 margin-bottom 为 40 像素,标签 p 的顶部和底部 margin 都是 20 像素。...margin 和外部 div 上的 margin 之间没有任何东西,所以两个会折叠,因此 p 最终与 div 的顶部和底部齐平。...我们在 p 的上方和下方看不到任何灰色。 ? 防止 margin 折叠 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。...将包裹文本的div设置为BFC 这实际上是我们创建具有多个列的浮动布局的方法。浮动项还为该项创建了一个 BFC,因此,如果右边的列比左边的列高,那么我们的列就不会相互环绕。

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

    【CSS】定位 ⑥ ( 使用绝对定位在父容器任意位置显示子容器 | 代码示例 )

    ; 由于 子元素 需要使用 绝对定位 , 此处的 父容器 必须设置 相对定位 ; 上图中 , 父容器存在 1 像素的边框 , 父容器 中设置一个内边距 ; 设置子元素浮动后 , 浮动的元素 可以覆盖到..., 其大小与 父容器 的尺寸大小一致即可 ; 这是一个标准流元素 , 在父容器中正常显示 ; /* 标准流元素 */ .center { width: 300px; height:...内边距范围 ; 也不能使用 相对定位 , 相对定位会保留元素原始位置 , 其它标准流元素无法使用该位置 ; 因此此处只能使用绝对定位 , 在设置了相对定位的父元素容器中 , 可以使用绝对定位在父容器的任意位置显示任何元素...*/ /* 下边偏移 0 紧贴底部 */ bottom: 0; /* 右边偏移 0 紧贴右侧 */ right: 0; /* 内容尺寸 */ width: 80px...*/ /* 下边偏移 0 紧贴底部 */ bottom: 0; /* 右边偏移 0 紧贴右侧 */ right: 0; /* 内容尺寸 */ width: 80px

    1.3K10

    【CSS】课程网站 网格商品展示 模块制作 ① ( 网格商品展示模块盒子模型测量及样式 | 顶部文本标题盒子测量及样式 | 代码示例 )

    1 行 , 2 行 或 3 行 ; 2、标题盒子尺寸测量和样式 文本所在盒子 , 与 顶部的导航栏有 15 像素间隔 , 这里使用 上外边距 设置 ; /* 网格商品展示模块大盒子 距离上面的 导航栏...= 内容高度 , 这里精确的测量 " 精品推荐 " 文本的行高与内容高度 ; 该文本盒子如下图所示 , 文本内容 20 像素 , 文本上面和下面各有 20 像素的空白 ; 行高直接设置为 60 像素...-- 顶部的标题 --> div class="course-hd">我的课程表div> div class="course-bd"> 底部的 全部课程 按钮 --> 全部课程 div> div> div> div> 的文本颜色 这是所有的文本样式 课程在链接里面 由 a 标签设置样式 除 a 标签外 只剩下竖线 的样式*/ .goods-item { float: left; color:

    4.3K40

    iOS-屏幕适配实现(Autoresizing)

    ,Autoresizing就是一个相对于父控件的布局解决方法 在Xcode5之后,新建的项目默认使用AutoLayout。...属性为YES时(默认为YES),autoresizingMask才会生效,也就是说,当我们想要利用autoresizingMask指定某个控件和其父控件的关系时候,必须autoresizesSubviews...右边距、宽按比例调整,上边距固定,下边距固定,高度固定(这样的约束条件有冲突,会默认上边距不变)垂直方向是同样效果,故不列举 UIViewAutoresizingFlexibleLeftMargin |...,保证上下左右边距不变 UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight.gif 综上发现,只要是我们在水平方向同时固定了左边距和右边距...可以满足大部分简单的自动布局需求,可是它有一个致命的缺陷,它只能设置子视图相对于父视图的变化,却不能精确这个变化的度是多少,因此对于复杂的精准的布局需求,它就力不从心了

    27510

    盒子模型超详解——大佬不用看,新手看过来

    所有的HTML元素可以看做盒子,它包括:外边距、边框、内填充和实际内容。 但是这样说实在是太官方了,对新手很不友好,我个人也不喜欢这样描述。...我们把月饼盒到月饼之间的距离叫盒子模型的内填充,在CSS中的样式中叫padding ? 而月饼盒与另一个月饼盒之间距离叫盒子模型的外边距,在CSS中的样式中叫margin ?...大家看到上面的代码图片以及网页显示图片了吧,我来说明一下: 首先有一个div标签,里面设置了长度、宽度、内边距、背景颜色以及边框等属性。...其实别的一些属性不难理解,后面我也会讲到,在这我就想跟大家强调一个内容: 我们看到div中设置的宽度为200px,但这个宽度不是盒子的实际宽度,而是盒子内容的宽度。...最终元素的总宽度计算公式是这样的: 总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距 元素的总高度最终计算公式是这样的: 总元素的高度=高度+顶部填充+底部填充+上边框+下边框

    1.6K31

    【CSS】课程网站 网格商品展示 模块制作 ② ( 网格商品展示盒子模型测量及样式 | 处理列表间隙导致意外换行问题 | 代码示例 )

    , 会导致最后一个元素掉到第二行 , 这里需要将最后一个元素的右边距去掉 ; 解决上述问题有 2 个方案 : 将最后一个元素的右边距去掉 ; 将盒子宽度从 1200 像素修改为 1215 像素 ; CSS...15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加 15 像素的右边距地话 , 会导致最后一个元素掉到第二行 , 这里需要将盒子宽度从 1200 像素修改为 1215...-- 顶部的标题 --> div class="course-hd">我的课程表div> div class="course-bd"> 的盒子 , 其中间隙 15 像素 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加 15 像素的右边距地话 , 会导致最后一个元素掉到第二行...的盒子 , 其中间隙 15 像素 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加 15 像素的右边距地话 , 会导致最后一个元素掉到第二行

    2.4K20

    盒模型

    负外边距的具体行为取决于设置在元素的哪边: 如果设置左边或顶部的负外边距,元素就会相应地向左或向上移动,导致元素与它前面的元素重叠 如果设置右边或者底部的负外边距,并不会移动元素,而是将它后面的元素拉过来...给元素底部加上负外边距并不等同于给它下面的元素顶部加上负外边距 如果不给一个块级元素指定宽度,它会自然地填充容器的宽度 如果在右边加上负外边距,则会把它拉出容器。...负外边距并不常用,但是在某些场景下很实用,尤其是当创建列布局的时候。不过应当避免频繁使用,不然网页的样式就会失控。 # 外边距折叠 当顶部和/或底部的外边距相邻时,就会重叠,产生单个外边距。...# 多个外边距折叠 即使两个元素不是相邻的兄弟节点也会产生外边距折叠。在没有其他 CSS 的影响下,所有相邻的顶部和底部外边距都会折叠。 可以给任何元素加上外边距,而不必担心它们前后的元素是什么。...# 容器外部折叠 想要在容器内元素不与容器外元素外边距折叠,有下面方法可以处理: 当使用 Flexbox 布局时,弹性布局内的元素之间不会发生外边距折叠,网格布局也是 在两个外边距之间加上边框或者内边距

    1.9K20

    Div+CSS – 简单布局

    大家好,又见面了,我是你们的朋友全栈君。...页面的布局 1、顶部部分,其中又包括了LOGO、MENU和一幅Banner图片; 2、内容部分又可分为侧边栏、主体内容; 3、底部,包括一些版权信息。...DIV结构如下: │body {}/这是一个HTML元素,具体我就不说明了/ └#Container {}/页面层容器/ ├#Header {}/页面头部/ ├#PageBody {}/页面主体...0 像素,如果使用 auto 则是自动调整边距, 另外还有以下几种写法: margin:0px auto; 说明上下边距为 0px,左右为自动调整; 我们以后将使用到的 padding 属性和...是因为我们在#container 中使用了以下属性: margin:0 auto; 按照前面的说明,可以知道,表示上下边距为 0,左右为自动,因此该层就会自动居中了。

    2.8K10

    WordPress 主题教程 #11:宽度和布局

    宽度和布局是从零开始创建 WordPress 主题系列教程的第十一篇,这篇将介绍如何设置每个 DIV 的宽度和布局排版,并且也会展示如何让主题显示正确,并同时在 Firefox 和 IE 下兼容,显示一致...我们需要把现在主题中的所有的东西(header,container,sidebar 和 footer)放入一个 750px 的 DIV 标签中。...margin: 0 0 0 10px; 具体的意思是:上边空白为0,右边空白为0,底部空白为0,左边空白为10像素。当大小为0的时候,px 单位不是必需的。...第8步(额外的步骤):修正 IE 的双倍页边距 bug Internet Explorer 有个双倍页边距的 bug,这样在 IE 下,我们的页面距就是 20像素,20像素的页边距可能会破坏布局并把侧边栏挤到页面的底部...,因为一个20像素的页边距使得 Container 和 Sidebar 的宽度之和为 760px 而不是 750px。

    1.3K20

    深入学习下 CSS 间距相关的知识

    但是,在处理具有大量细节和子元素的组件时,这可能会变得越来越复杂。 Margin- 外部间距 它用于在一个元素和另一个元素之间添加间距。...在上面的模型中,一个元素具有底部边缘,而另一个元素具有顶部边缘。 具有较大边距的元素获胜。 为避免此类问题,建议根据本文使用单向边距。...处理底边距 假设以下组件堆叠。 每个组件都有一个底部边距。 请注意,最后一个元素有边距。 这是不正确的,因为边距应该只在元素之间。...注意不要超过边距值,因为它会重叠其兄弟元素。 卡片组件 哦,如果我想详细了解卡片组件间距,我可能会写一本书。 我将突出显示一个通用模式,看看应该如何应用间距。...我在检查 Facebook 的新设计 CSS 时,首先注意到了这一点。 我们将内联样式div设置为width :16px, 它的唯一目的是在左边缘和包装器之间添加一个空间。

    13.5K40

    一步步实现静态页面布局

    本文内容概要: 1 CSS选择器 2 盒模型 3 浮动 4 页面布局案例 5 课后习题 上周我们详解的讲解了一个网站的开发流程以及如何使用标签来进行一个网页的布局操作,那本周的这篇文章我们主要与大家分享的是如何去实现我们网页的布局...首先我们考虑如何去写之前要考虑的一点是,我怎么准确无误的找到我需要改变的标签,那这时候我们需要借助一个手段来找到目标标签了——CSS选择器。...其中选择器通常是需要改变的HTML元素,每条声明由一个属性和一个属性值组成,且每个属性有一个值。属性与属性值用冒号分开,分号结束。...举个例子,大家在生活中会见到很多不同的三维立体物体,比如一个箱子,一个球。当我们想要知道这个物品的大小、宽高的时候都会去做一个测量。...padding的缩写方式: // 表示四个方向的padding值都为10px; padding: 10px; // 第一个值表示上下边距各为10px,第二个值表示左右边距各为20px; padding

    2K100

    浅谈 CSS 的用法

    1.1.2 CSS 的定义 选择器 { 属性:值; 属性:值; 属性:值;} 选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性,每个属性有一个或多个值。...属性和值之间用冒号,一个属性和值与下一个属性和值之间用分号,最后一个分号可以省略。.../* 连接正在被访问的样式 */ a:hover{} /* 鼠标悬浮的样式 */ 1.4 盒子模型    元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻...:30px; /* 设置左边内间距30px */ padding-right:40px; /* 设置右边内间距40px */ padding-bottom:50px; /* 设置底部内间距...*/ margin-bottom:50px; /* 设置底部内间距50px */ 上面的设置可以简写如下: /* 四个值按照顺时针方向,分别设置的是 上 右 下 左 四个方向的内边距值。

    1.5K40

    理解CSS布局和块格式化上下文

    [image.png] 在进行html布局及css编写的时候,你是否遇到过这样的问题: 子元素设置浮动脱离文档流后,父元素无法将其完全包裹 子元素浮动实现两栏布局时,另一个子元素与浮动子元素重叠 垂直方向的外边距....outer { overflow: auto; } [enter image description here] BFC防止垂直外边距重叠 外边距折叠的规则是:当两个块级元素相邻并且在同一个块级格式化上下文时...div上的边距之间没有内容,因此两者将会合并,因此段落最终与框的顶部和底部齐平。...div> div> css .float{ float: left; } [enter image description here] 这时候如果不想要右侧文字环绕浮动文字盒子,在左侧div...设置浮动的情况下,我可以通过使右边div成为BFC,使两个兄弟div互相隔离、互不影响,从而达到去除文字环绕的效果。

    2.1K30

    css笔记

    我一样重要 行内元素的特点: (1)和相邻行内元素在一行上。 (2)高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效。 (3)默认宽度就是它本身内容的宽度。...值的个数 表达意思 1个值 padding:上下左右边距 比如padding: 3px; 表示上下左右都是3像素 2个值 padding: 上下边距 左右边距 比如 padding: 3px 5px;...不管浏览器滚动条如何滚动也不管浏览器窗口的大小如何变化,该元素都会始终显示在浏览器窗口的固定位置。 固定定位有两点: 固定定位的元素跟父亲没有任何关系,只认浏览器。...垂直对齐结束位置 底对齐 5、flex-wrap控制是否换行 当我们子盒子内容宽度多于父盒子的时候如何处理 值 描述 nowrap 默认值。规定灵活的项目不拆行或不拆列。...属于同一个BFC的两个相邻盒子的margin会发生重叠 3.在BFC中,每一个盒子的左外边缘(margin-left)会触碰到容器的左边缘(border-left)(对于从右到左的格式来说,则触碰到右边缘

    7.7K50

    CSS-03

    1.所有的文档元素(标签)都会生成一个矩形框,它描述了一个文档元素在网页布局汇总所占的位置大小。 2.因此,每个盒子除了有自己大小和位置外,还影响着其他盒子的大小和位置。...精确单位。 演示例子风车: 的个数 表达意思 1个值 padding:上下左右边距 比如padding: 3px; 表示上下左右都是3像素 2个值 padding: 上下边距 左右边距 比如 padding: 3px 5px;...# CSS继承性 所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。 注意: 1....也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。 CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!

    2.1K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券