首页
学习
活动
专区
圈层
工具
发布

CSS粘性定位是怎样工作的

探索粘性定位 在摆弄它的过程中,我很快就注意到了:当一个具有 position:sticky 样式的元素被包装,且它是包装元素中唯一的元素时,这个被定义为 position:sticky 的元素就不会粘住...粘性容器 —— 是包装粘性元素的 HTML 元素。 这是粘性元素可以浮动的最大区域。 当你定义一个具有 position:sticky 样式的元素时,父元素会被自动定义为粘性容器!...绝对 —— 在粘贴区域的末尾,元素会停止,并堆叠在另一个元素的顶部,就像一个绝对定位的元素被放在一个 position: relative 容器内的行为。 粘在底部?...在大多数情况下,您可以使用粘性定位将元素粘贴到顶部,如下所示: ? 这正是它被设计的初衷,而在此之前,只能使用JavaScript完成这个功能。 但你也可以使用它把元素粘到底部。...这意味着你可以把页脚定义为粘性,并且在向下滚动时使它看起来总是被粘在底部。 当到达粘性容器的末端时,元素会停在它的自然位置。 最好是在以粘性容器底部为自然位置的元素上使用它。

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

    HTMLCSS 常见面试题汇总

    ,有助于爬虫抓取更多的有效信息; (3)方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备等),并以具有意义的方式来渲染网页; (4)便于团队开发和维护,语义化更具有可读性,遵循W3C标准的团队都遵循语义化标准...DOCTYPE 的作用:DOCTYPE声明在文档的最前面, 位于根元素 HTML 的起始标签之前 ,这样一来,在浏览器解析 HTML 文档正文之前就可以确定当前文档的类型,以决定其需要采用的渲染模式,不同的渲染模式会影响到浏览器对于...**absolute:**生成绝对定位的元素,相对于 static 定位以外的第一个祖先元素进行定位 **fixed:**生成绝对定位的元素,相对于浏览器窗口进行定位。...18、浮动元素引起的问题 父元素的高度无法被撑开,影响与父元素同级的元素 与浮动元素同级的非浮动元素会跟随其后 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构...重叠的结果是什么? 外边距重叠就是margin-collapse; 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。

    1.9K20

    快速理解BFC原理

    一、常见定位方案 在讲 BFC 之前,我们先来了解一下常见的定位方案,定位方案是控制元素的布局,有三种常见方案: 普通流 (normal flow) 在普通流中,元素按照其在 HTML 中的先后位置至上而下布局...,在这个过程中,行内元素水平排列,直到当行被占满然后换行,块级元素则会被渲染为完整的一个新行,除非另外指定,否则所有元素默认都是普通流定位,也可以说,普通流中元素的位置由该元素在 HTML 文档中的位置决定...绝对定位 (absolute positioning) 在绝对定位布局中,元素会整体脱离普通流,因此绝对定位元素不会对其兄弟元素造成影响,而元素具体的位置由绝对定位的坐标决定。...具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。...BFC 容器下 (这里指 body 元素) 所以第一个 div 的下边距和第二个 div 的上边距发生了重叠,所以两个盒子之间距离只有 100px,而不是 200px。

    79420

    前端入门4-CSS属性样式表声明正文-CSS属性样式表

    紧接着,继续处理 div3 元素,因此之前 div2 块级元素已经霸占了第一行了,所以此时是在第二行处理 div3 元素,发现它也是一个浮动元素,便以当前位置将其抽离到另一层面绘制。...如果不想让当前的浮动元素受到之前浮动元素的影响,那么也要进行浮动清除的处理,方式有几种,每种有自己的适用场景,了解下即可,后续写多了,自然就懂了。...absolute 另外,有点需要注意下,绝对定位的元素,因为其已经从文档流中抽离,因此就不存在什么行内元素、块级元素的限制了。大小就是根据设置的宽高、位置就是根据参考点进行调整后进行布局绘制。...这个属性其实就是用于当元素发生重叠时,决定由谁盖在上面,默认值为0,值越大,越上层。 而会发生元素重叠的现象也就只有使用了 position 调整了元素的位置,以及浮动元素两种场景。...浮动元素造成的重叠只是盒子上的重叠,并不会造成元素内容上的重叠,那么也就没有使用 z-index 的必要,因为要呈现的内容并不会被覆盖。

    2K30

    CSS粘性定位 - 它的真正工作原理!

    static 和 relative 保留其在文档流中的自然空间,而 absolute 和 fixed 则不保留空间,它们具有浮动行为。而新的sticky定位具有所有类型的相似性。...Stick 探索 在尝试使用 sticky 定位的过程中,我很快发现,当一个具有sticky定位样式的元素被包裹起来,并且它是包裹元素内唯一的元素时,这个被定义为sticky定位的元素并不会"粘"住。...Absolute 定位 - 在粘附区域的末尾,元素停止并堆叠在另一个元素的顶部,就像绝对定位元素在 position: relative 容器内的行为一样。 贴在底部?...,因为在此之前,只能通过JavaScript来实现。...但你也可以使用它将元素粘贴到底部。这意味着可以定义页脚具有粘性位置,并且在向下滚动时始终会出现粘在底部。当我们到达粘性容器的末尾时,元素将停留在其自然位置。最好将其用于自然位置为粘性容器底部的元素。

    76220

    angular浏览器兼容性问题解决方案

    ,非常简单,将表格的一列设置成绝对定位,在设置了绝对定位后,该列会脱离原来的文档流,表格少了一列,所以需要加一个背景板来保证表格能够给这个固定列留出一个位置。...自定义页脚,加入额外的页脚,来替代确定功能,此时有两种方式来实现: 只覆盖对应的按钮,如确定按钮,此时按钮的样式与默认的页脚按钮是不一致的,为保持一致,可以自定义样式,也可以直接使用默认页脚中按钮的样式...此时需要删除原来的页脚,可通过: ::ng-deep .ant-calendar-footer-btn { display: none; } 这种方式删除默认页脚,此时额外的页脚不可使用绝对定位。...--- 问题:IE浏览器下,在多个tab页中切换,echart所在容器高度坍塌 原因:IE浏览器下父元素不能动态调整高度(即通过子元素动态改变调整高度) 解决方案:固定echart图表所在的容器高度 -...这种方式经验证,最终的效果是,初始化表单后,表单输入元素的边框闪烁(红色)一下。

    3.5K30

    关于BFC理解

    也可以说,普通流中元素的位置由该元素在HTML文档中的位置决定。...绝对定位 在绝对定位布局中,元素会整体脱离普通流(浮动布局可以理解成脱离父元素文本流),因此绝对定位不会对其兄弟元素造成影响,而具体的位置由绝对定位的坐标决定。...具有BFC特性的元素可以看作是**隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且BFC具有普通容器所没有的一些特性。**后面介绍。...触发BFC的条件 下面的方式会创建块格式上下文: 根元素或包含根元素的元素,这里我理解为body元素 浮动元素(元素的float不是none) 绝对定位元素(元素的position为absolute或fixed...解决这种问题我上之前的博文中有总结,地址请戳CSS清除浮动。这里再简单的说下原理: 也就是用到了BFC的特性五:闭合内部浮动。

    1.2K30

    如何使用CSS中的固定定位属性?

    摘要 本文介绍了CSS中的固定定位属性(position: fixed)的使用方法和注意事项。固定定位属性可以将元素固定在浏览器窗口的特定位置,不随页面滚动而变动,常用于创建固定导航栏、页脚等。...CSS中的固定定位属性(position: fixed)是一种常用的布局技术,可以将元素固定在浏览器窗口的特定位置,不随页面滚动而变动。这个属性在开发各种网页和应用程序时非常有用。...无论页面如何滚动,该元素始终保持在指定的位置上。常见的应用场景包括页眉、页脚、悬浮按钮等。...但要注意避免元素重叠覆盖其他内容。 固定定位的元素会相对于浏览器窗口进行定位,而不是相对于其父元素。...所以,请确保设置了适当的 top 、 left 、 right 、 bottom 属性来确定元素的位置。 在移动设备上,固定定位属性可能有性能问题,并且在页面滚动过程中有时会出现闪烁的情况。

    1.5K10

    揭示不为人知的CSS

    学习理解这些黑科技的问题就是学习的壁垒很高。它常常感觉好像什么都不能单独解释。在理解工作原理中最小的部分之前,您都需要了解所有的内容。...这个过程中的第一步是计算 盒模型。这一步对于计算出元素的大小和间距是很重要的,尽管可能并不是最终的位置。 和 盒模型相比并不是那么被熟知的过程叫做 视觉格式模型。此过程会确定页面上元素的布局和位置。...如果元素采用的是绝对定位、浮动定位或者有一个不一样的 格式化上下文时,边距不会发生重叠现象,以及在其他一些不太可能的情况下。 如果你感到困惑,没关系。边距不会发生重叠的规则是复杂的。...绝对定位布局 绝对定位的元素完全从文档流中去除,不同于浮动元素,它们对周围的内容没有影响。 具有相对定位的容器允许您使用绝对定位来控制后代元素的偏移量。...这些属性不是二维偏移,而是每个边缘相对于其容器的内容盒子进行定位。 具有重叠偏移的定位元素可以导致元素占用相同空间而发生重叠问题。堆叠上下文可以解决这个问题。

    2K30

    前端课程——定位继承与层叠

    定位 定位属性为position static: 默认值,表示元素为静态定位。指定元素使用正常的布局行为,即元素在文档常规流中当 前的布局位置。 absolute: 表示元素为绝对定位。...简单来说定位就是规定被定位元素距离页面顶部及左边的距离 绝对定位 开启后脱离文档流 不设置位置的偏移量则位置不会变化 偏移量 正值(top)向下 负值(top)向上 绝对定位的集中情况 如果当前元素的父级元素是...相对于父级元素的定位 bottom值 默认加载完毕后的位置 相对于当前浏览器窗口的底部 绝对定位依旧是相对于页面的定位,而不是相对于浏览器窗口的定位 固定定位 相对于浏览器窗口的定位...脱离文档流 相对定位 不脱离文档流 相对于自身原来的位置进行定位 堆叠 z- index属性指定了一个具有定位属性的元素及其子代元素的z -order。...当元素之间重叠的时候,z-order决定哪一个 元素覆盖在其余元素的上方显示。通常 来说z -index属性值较大的元素会覆盖较小的一个。

    96131

    【CSS3】css开篇基础(4)

    浮动特性 加了浮动之后的元素,会具有很多特性,需要我们掌握。...浮动元素会脱离标准流(脱标) 浮动的元素会一行内显示并且元素顶部对齐 浮动的元素会具有行内块元素的特性 浮动元素会脱离标准流(脱标) 脱离标准普通流的控制(浮) 移动到指定位置(动),(俗称脱标) 浮动的盒子不再保留原先的位置...不管原先是什么模式的元素,添加浮动之后具有行内块元素相似的特性,无需用display转换。...(当然前面的标准流不会被影响) 这时如果想要不被影响,就要清除浮动,从而它们就能使浮动的盒子恢复到标准流中:高度能恢复成应有的高度,也不会被之前的标准流给重叠影响到,同时它们浮动盒子之间的布局也不会被影响...绝对定位 绝对定位不会保留原来的位置(脱离文档流),那后面盒子就会往上占了它的位置; 如果没有祖先元素或者祖先元素没有定位,则以浏览器为基准定位; 如果祖先元素有定位(可以是相对、绝对或者固定定位

    53110

    网页元素定位的详细解读

    一、定位概述 在网页布局中,定位可以让我们手动控制元素在其包含块中的精确位置,这主要通过 CSS 的position属性来实现。...(三)absolute(绝对定位) 文档流与偏移:元素按照正常的文档流排列后,根据top、right、bottom、left属性进行位置偏移。与相对定位不同的是,绝对定位会使元素脱离文档流。...元素会根据top、right、bottom、left属性进行位置偏移,并且也会脱离文档流,具有与绝对定位类似的影响。 不同的包含块:固定定位的元素的包含块与绝对定位不同。...固定定位的元素固定为视口,即浏览器的可视窗口。这意味着无论页面如何滚动,固定定位的元素始终保持在相对于视口的相同位置。...四、多个定位元素重叠时 (一)堆叠上下文 当多个定位元素重叠时,会涉及到堆叠上下文的概念。可以通过设置z-index属性来控制元素的堆叠顺序。通常情况下,z-index值越大,元素越靠近用户。

    46110

    霸榜各大CV任务榜单,Swin Transformer横空出世!

    移位窗口方案通过将self-attention计算限制在非重叠的局部窗口上,同时允许跨窗口连接,从而提高了效率。这种分层结构具有在不同尺度下建模的灵活性,并且相对于图像大小具有线性计算复杂性。...因为每个轴的相对位置在区间,我们参数化一个更小的bias矩阵,中的值是从中获得。 我们观察到与没有这个偏差项或使用绝对位置嵌入的对应项相比有显著的改进。...如[19]中所述,进一步向输入中添加绝对位置嵌入会略微降低性能,因此在我们的实现中不采用这种方法。...mIoU在ADE20K上分别与那些没有位置编码和绝对位置嵌入的相关, 相对位置偏差的有效性。...同时也注意到,虽然绝对位置嵌入的加入提高了图像分类的准确率(+0.4%),但它不利于目标检测和语义分割; ? 我们的cyclic实现比单纯的填充更具硬件效率,特别是对于更深层的阶段。

    1.5K30

    CCIG 2024:合合信息文档解析技术突破与应用前景

    文档多板式部分示例文档解析典型技术难点在文档解析过程中,技术难点众多,涉及文档元素的遮盖重叠、复杂版式、多样的文档元素、页眉页脚、多栏布局与表格、无线表格与合并单元格,以及各种公式的识别和处理。...以下是对这些技术难点的详细列举。元素遮盖重叠:文档中的各种元素(如文字、表格、公式等)可能会相互遮挡或重叠,给解析带来挑战。...复杂版式:文档可能采用双栏、跨页、三栏等复杂的版式布局,需要准确识别和分析这些版式结构。元素本身的多样性:不同类型的文档元素(如标题、段落、表格、公式等)具有不同的特点,需要针对性地进行识别和分析。...页眉页脚的复杂形式:页眉页脚的形式可能多种多样,需要准确识别并区分。多栏布局及其与表格的影响:多栏布局以及多栏中插入表格会对文档解析带来额外的挑战。无线表格与合并单元格:无线表格与合并单元格的识别。...各种公式:单行公式、行内公式、表格内公式等元素重叠、本身多样性、复杂板式示例元素重叠、本身多样性、复杂板式示例单行、行内、表格内公式示例合合信息提出的文档解析技术解决方案文档图像预处理算法框架主要包括以下几点区域提取

    29921

    Vue Print-js 打印问题记录~

    headerStyle: 'font-weight:400;text-align:center;', style: '@page {margin: 0 10mm};', // 不打印页眉和页脚...然后在打印预览的时候发现普通的打印是可以选择文字什么的。而我们这个选不中才发现之前打印的逻辑是先生成base64的图片,打印的是图片。那会不会是图片模糊导致的呢? 2、将打印改成了DOM元素。...设置 printable 为需要打印模板的id,打印的时候不是图片url地址 3、重新打印后发现不是那么模糊了。...但是又涉及纸张大小的问题和文字重叠显示不全 于是重新设置打印模板的宽度和模板内元素的宽度并将字体颜色设置成 #000后,重新打印。问题完美解决。 4、总结 1、打印的是生成的图片,导致不清晰。...2、字体的颜色直接设置为黑色 3、打印的时候因为涉及到dpi 纸张大小等。需要注意!

    4.3K20

    CSS布局(一)

    或者设置 overflow为hidden(通过 overflow触发 BFC,而 BFC不会重叠浮动元素) body { background-color: #ccc;...首先第一列设置为 auto,即会根据子元素宽度来设置,而子元素的宽度已经设置为 200px了,所以第一列就是 200px,而第二列的 1fr则是占满剩余空间。...之前有些过清除浮动的文章,有需要可以看一下 添加页头、页脚 header, footer { height: 100px; background-color: #666; } 发现,没有页脚,...(清除浮动的方法可参考之前的文章) main:after { content: ''; display: block; clear: both; } CSS完整代码 body, div {...,不包括伪元素、子元素) .middleInner { height: 300px; /* 换成通过子盒子的margin值给左右盒子留位置 */ margin: 0 300px 0 200px

    1.5K10

    《BFC的深层逻辑与全域应用》

    当元素的position属性被设置为absolute(绝对定位)或fixed(固定定位)时,它会完全脱离常规文档流,仿佛被“拎”到了一个独立的层级,并创建自己的BFC。...这类元素的位置计算不再依赖父容器的布局,而是以最近的定位祖先元素为基准,与页面中其他元素的布局彻底隔离。...,始终保持在预期的位置。...两者的协同能兼顾布局的宏观规划与微观稳定——用grid划分页面的头部、侧边栏、主内容区和页脚,再用BFC确保每个区域内部的布局不受其他区域影响。...例如,给弹窗组件的容器触发BFC,能避免它被页面中的浮动元素“挤偏”位置;给卡片组件触发BFC,能防止内部元素的margin影响卡片之间的间距。

    7600

    CSS---网络编程

    自定义伪元素: :focus 具有焦点的元素(其实有点类似点击后的监听) div:hover{ background-color:#f00; color:#fff; } CSS的盒子模型...,则这个对象移动,给那个漂浮过来的对象让出一行位置,让他们不会重叠) ☆CSS布局——定位 ◇ position : static | absolute | fixed | relative static...relative : 对象不可层叠,但将依据 left , right , top , bottom 等属性在正常文档流中偏移位置。 absolute —绝对定位。...如果某个对象用了绝对定位,其实就相当于这个对象漂浮在另一个层面(重叠),而原来层面上自己占的位置被其他模块覆盖。 relative —相对定位。...如果某个对象用了相对定位,也相当于这个对象漂浮在另一个层面(重叠),但是原来层面上自己占的位置不会被其他模块覆盖。

    1.3K20
    领券