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

CSS 定位详解

CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position。 display属性指定网页的布局。两个重要的布局,我已经介绍过了:弹性布局flex和网格布局grid。...本文介绍非常有用的position属性。我希望通过10分钟的阅读,帮助大家轻松掌握网页定位,说清楚浏览器如何计算网页元素的位置,尤其是新引进的sticky定位。 ?...三、relative,absolute,fixed relative、absolute、fixed这三个属性值有一个共同点,都是相对于某个基点的定位,不同之处仅仅在于基点不同。...div { position: fixed; top: 0; } 上面代码中,div元素始终在视口顶部,不随网页滚动而变化。...5.1 堆叠效果 堆叠效果(stacking)指的是页面滚动时,下方的元素覆盖上方的元素。下面是一个图片堆叠的例子,下方的图片会随着页面滚动,覆盖上方的图片(查看 demo)。 ?

1.8K40

CSS 定位详解

CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position。 display属性指定网页的布局。两个重要的布局,我已经介绍过了:弹性布局flex和网格布局grid。...本文介绍非常有用的position属性。我希望通过10分钟的阅读,帮助大家轻松掌握网页定位,说清楚浏览器如何计算网页元素的位置,尤其是新引进的sticky定位。...# 三、relative,absolute,fixed relative、absolute、fixed这三个属性值有一个共同点,都是相对于某个基点的定位,不同之处仅仅在于基点不同。...div { position: fixed; top: 0; } 1 2 3 4 复制 上面代码中,div元素始终在视口顶部,不随网页滚动而变化。...# 5.1 堆叠效果 堆叠效果(stacking)指的是页面滚动时,下方的元素覆盖上方的元素。下面是一个图片堆叠的例子,下方的图片会随着页面滚动,覆盖上方的图片(查看 demo )。

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

    简单的聊一聊如何用CSS制作一个专业的头部页眉(Headers)

    没什么了不起的。但容器查询的优势在于我们可以为容器指定最小宽度。我们不关心视口有多大,但我们知道:如果我们的容器宽度小于400像素,它会变得非常难看。这是我真正期待被广泛支持的功能之一。...粘性顶部导航栏 我仍然看到一些使用position: fixed实现顶部导航栏,即使sticky是更好的解决方案。 为什么sticky更好呢?...> Some content 在这种情况下,页眉具有position: fixed。...结果,主要内容区域移动到网站的顶部,因为文档中没有为页眉保留空间。它处于流动之外。 在这种情况下,解决方法是使用margin-top对主要内容区域进行偏移,将其移动到页眉下方。...这就是为什么您仍然可以找到一些使用position: fixed而不是sticky的教程的原因。但是使用sticky,我们就不需要margin-top的偏移了。

    45310

    渐变的艺术:变量的力量——阿超与ChatGPT 4o的代码探险

    人类之所以有进步,主要原因是下一代不怎么听上一代的话。...在一个静谧的下午,阿超,一个对代码有着近乎苛求完美的前端开发者,面对着一个挑战。...他需要实现一个文字渐变效果:滚动时,文字从顶部的纯白渐变为底部的纯黑,中间的渐变必须平滑优雅,没有任何多余的断裂或重复。 阿超心想:“这应该只是几行 CSS 和一点滚动监听事件的事吧?”...这一刻,他与 ChatGPT 4o 的代码探险开始了。 第一章:原始实现的局限 阿超: “我要实现一个文字滚动渐变动画,顶部完全是白色,中间渐变自然,底部完全是黑色。”...另一个只平滑改变颜色,而不是渐变比例的版本 示例: <!

    8310

    css属性及定位操作

    大家好,又见面了,我是你们的朋友全栈君。 字体属性 文字字体 font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。...浮动元素会生成一个块级框,而不论它本身是何种元素。 关于浮动的两个特点: 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。...允许两边都可以有浮动对象 left : 不允许左边有浮动对象 right : 不允许右边有浮动对象 both : 不允许有浮动对象 但是需要注意的是:clear属性只会对自身起作用,而不会影响其他元素。...注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。...因为它原本所占的空间仍然占据文档流。 在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。 <!

    2.5K50

    浮动清楚浮动及position的用法

    浮动元素会生成一个块级框,而不论它本身是何种元素。 关于浮动的两个特点: 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。...注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。...元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。...注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。...因为它原本所占的空间仍然占据文档流。 在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。 示例代码: <!

    2.1K40

    【Web前端】“CSS 定位”如何工作?(补充)

    定位允许你从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置。 一、文档流 在讨论CSS定位之前,我们首先需要理解“文档流”这一概念。...class="block">这是一个块级元素div> 这是一个行内元素 另一个行内元素... div class="block">这是另一个块级元素div> 在这个示例中,我们使用了一个块级元素和两个行内元素。...="fixed">这是一个固定定位的元素div> div style="height: 2000px;">滚动页面查看效果div> 示例中固定定位的元素始终固定在视口的右下角...class="sticky">这是一个粘性定位的元素div> div class="content">滚动页面查看效果div> 示例中粘性定位的元素会在视口顶部粘住

    9410

    【CSS】使用 固定定位 实现顶部导航栏 ( 核心要点 | 固定定位元素居中设置 | 代码示例 )

    一、核心要点分析 ---- 实现下图所示功能 : 上方有一个固定导航栏 , 水平居中设置 ; 左右两侧各一个广告栏 , 垂直居中设置 ; 1、顶部导航栏要点 顶部导航栏要点 : 使用固定定位 , 上边偏移设置为...0 , 即可设置为顶部导航栏 , 其位置不受页面滚动影响 ; /* 设置固定定位 */ position: fixed; top: 0; 由于顶部的导航栏设置了 绝对定位 , 该元素是脱标的..., 下方的网页内容会被顶部导航栏覆盖 , 这里需要设置一个上外边距 , 上外边距值大于等于 顶部导航栏的高度 ; /* 顶部的固定定位盒子高度 100px 由于其脱标会覆盖标准流元素...; 首先 , 将盒子的顶部设置到浏览器垂直中线位置 , position: fixed; /* 该盒子在浏览器左侧 */ /* 上边偏移 50% 之后减去 150 居中设置 */...-150px; 完整代码示例 : /* 固定定位 - 浏览器左侧元素 */ .left { position: fixed; /* 该盒子在浏览器左侧 */ /* 上边偏移

    3.1K50

    CSS入门指南-3:定位元素

    position 属性有4个值:static、relative、absoulte、fixed,默认值为 static。 接下来我会用以下四个段落来逐个说明这些属性是什么意思。...相对定位(relative) 现在我把第三段的 position 属性设置为 relative。...,如果设置一个“top”值为“20px”,将使绝对定位元素相对于其设置了相对定位的祖先元素顶部边缘向上移动“20px”。...定位上下文 把元素的 position 属性设定为 relative、absolute或 fixed 后,可以使用 top、right、bottom 和 left 属性,相对于另一个元素移动该元素的位置...这里另一个元素就是当前元素的定位上下文。 我们在介绍绝对定位的时候说过,绝对定位元素默认的定位上下文是 body,这是因为 body 是标记中所有元素唯一的祖先元素。

    65910

    如何运用position:sticky实现粘性布局?

    前言 如果问,CSS 中 position 属性的取值有几个? 大部分人的回答是,大概是下面这几个吧?...下面就来了解下这个处于实验性的取值的具体功能及实用场景。这是一个结合了 position:relative 和 position:fixed 两种定位功能于一体的特殊定位,适用于一些特殊场景。...按照常规做法,大概是监听页面 scroll 事件,判断每一区块距离视口顶部距离,超过了则设定该区块 position:fixed,反之去掉。...如果 position:sticky 元素的任意父节点定位设置为 position:relative | absolute | fixed,则元素相对父元素进行定位,而不会相对 viewprot 定位。...公告 以后每月5、15、25号更新原创文章,内容不限,喜欢小编的可以点击关注,也可在下方评论留言,你喜欢什么内容,小编根据大家喜欢的内容尝试更新

    2K20

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

    我假设你们都知道CSS定位,但让我们简要回顾一下: 直到3年前,有四个CSS位置: static , relative , absolute 和 fixed 。...static 和 relative 保留其在文档流中的自然空间,而 absolute 和 fixed 则不保留空间,它们具有浮动行为。而新的sticky定位具有所有类型的相似性。...这样做的原因是,当一个元素被赋予sticky定位样式时,粘性元素的容器是粘性元素可以粘住的唯一区域。这个元素没有其他元素可以浮动,因为它只能浮动在兄弟元素上,而作为唯一的子元素,它没有兄弟元素。...Fixed - 当项目固定时,它的行为与 position: fixed 完全相同,浮动在视口的相同位置,从流中移除。...Absolute 定位 - 在粘附区域的末尾,元素停止并堆叠在另一个元素的顶部,就像绝对定位元素在 position: relative 容器内的行为一样。 贴在底部?

    30620

    【前端就业课 第二阶段】CSS 零基础到实战(04)定位

    fixed sticky 在本章开始时,了解了相对定位和绝对定位,而后又了解了 position 定位的属性值,这些值对应了相对定位和绝对定位,例如: 相对定位的 position 属性值有 relative...top 属性表示距离头部距离为 10px,并且给予了淡青色为背景颜色,在页面中显示如下: 我们可以明显的看到淡青色的 div 距离顶部有一定的距离,接着咱们在对应的css 中增加 right 属性...: 其结果如下: 此时我们再将 left 改成 bottom 将会与顶部正常文档流的 div 发生重叠: 结果如下: 此时我们还需要注意使用 relative 时会出现的一个情况...> div> div> 以上代码中新增了一个 div,并且使其距离顶部 50px: 此时这个div 将会往下移动覆盖掉下部分的 div...首先我们需要知道一个点,绝对定位的父元素不能是 static ,也就是 position不能是 static,而 static 是position 的默认值,也就是说直咱们需要一个 div 设置为 relative

    28720

    Bootstrap实战 - 单页面网站

    并且给导航栏添加样式 navbar-fixed-top 使其固定在顶部不随滚动条移动而移动,但这样的话会遮住 body 上面的一部分内容,所以同时给 body 添加样式 padding-top: 60px...> div> 因为有五个导航,所以下面也要相应的给出五个内容载体。...position: relative。...这时移到最顶部时不能合理定位到第一个导航部分,因为上面给了 body 元素一个 60px 的内边距,这里给 body 元素增加一个属性 data-offset="60",使滚动监听在计算滚动位置是相对于顶部有一个偏移量...[定制 Bootstrap] 按照自己的想法修改完成之后点击页面最下方的【编译并下载】即大功告成。此时 CSS + JS 大小已经变成了 50k 左右,之后按照常规方法引用就可以了。

    8.9K104

    蒙层禁止页面滚动的方案

    蒙层禁止页面滚动的方案 弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互。...实现 首先需要实现一个蒙层下滚动的效果示例,当我们点击弹窗按钮显示蒙层之后,再滚动鼠标的话能够看到蒙层下的页面依旧是能够滚动的。...,所以在设置这个样式的时候滚动条会消失,而移除样式的时候滚动条又会出现,所以在视觉上是会有一定的闪烁现象的,当然也可以定制滚动条的样式,但滚动条样式就是另一个兼容性的问题了,还有同样是因为裁剪。...,反之就不做控制,之后又出现了问题,需要判断滚动到顶部和滚动到底部的时候禁止滚动,否则触碰到上下两端,弹窗可滚动区域的滚动条到了顶部或者底部,依旧穿透到body,使得body跟随弹窗滚动,这样的话逻辑的复杂程度就比较高了...目前常用的方案就是该方案了,要阻止页面滚动,可以将其固定在视图中即position: fixed,这样它就无法滚动了,当蒙层关闭时再释放,当然还有一些细节要考虑,将页面固定视图后内容会回头最顶端,这里我们需要记录一下用来同步

    6.4K21

    CSS

    ,因此div2的相对垂直位置不变,顶部仍然和div1元素的底部对齐。...div4发现上一个元素div3是标准流中的元素,因此div4的顶部和div3的底部对齐,并且总是成立的,因为从图中可以看出,div3上移后,div4也跟着上移,div4总是保证自己的顶部和上一个元素div3...3  position:fixed          在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。    ...注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。...这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,    另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

    2K30

    前端基础之CSS_2

    ; 提供两个,第一个用于上-下,第二个用于左-右; 如果提供三个,第一个用于上,第二个用于左-右,第三个用于下; 提供四个参数值,将按上-右-下-左的顺序作用于四边;     需要注意:有一些标签自带一个或者多个属性对应值...浮动规律: 浮动框可以向左向右移动,知道它的外边缘碰到包含框或另一个浮动的边框为止。 浮动框不在文档流中,所以它已经脱离文档流,也就是说,浮动下面的文档流式无视浮动框的位置的。...元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。...注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。...因为它原本所占的空间仍然占据文档流。 在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。 <!

    41710

    实现滚动时Header自动隐藏

    这是掘金网页版的头部,当滚动条向下滑动时,主header会隐藏,次级header会吸在页面顶部。...div> div> div v-for="i of 100" :key="i">测试滚动div> position:fixed;bottom: 10px...、滚动状态(到顶部/到底部)和是否在滚动 其中,函数返回的 directions 是一个 reactive 对象,我们对其进行监听,当该变量发生变化时,说明滚动方向发生了改变。...甚至y值能到负值 查看示例 这里还有一个问题,只检测了滚动到顶部,而没有检测滚动到底部。这是因为我没想到什么很好的方法去检测。...但是在safari里可能不一致,在safari中,当地址栏收缩时,上文的公式成立;但是当地址栏是展开状态时,两者会一个相差地址栏的高度。而地址栏是否展开我没找到判断的方法。

    2.4K30

    前端之CSS内容

    浮动元素会生成一个块级框,而不论它本身是何种元素。...关于浮动的两个特点: 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止; 由于浮动框不在文档的普通流中,所以文档的普通流中的块级框表现得就像浮动框不存在一样。...元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。   ...注意点:一个元素若设置了 position:absolute | fixed;  则该元素就不能设置float。...这是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是定位流,但是  relative 却可以。因为它原本所占的空间仍然占据文档流。

    5.2K100
    领券