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

CSS 定位详解

CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position。 display属性指定网页的布局。两个重要的布局,我已经介绍过了:弹性布局flex和网格布局grid。...这时,浏览器会按照源码的顺序,决定每个元素的位置,这称为"正常的页面流"(normal flow)。每个块级元素占据自己的区块(block),元素与元素之间不产生重叠,这个位置就是元素的默认位置。...3.3 fixed 属性值 fixed表示,相对于视口(viewport,浏览器窗口)进行偏移,即定位基点是浏览器窗口。这会导致元素的位置不随页面滚动而变化,好像固定在网页上一样。 ?...它的具体规则是,当页面滚动,父元素开始脱离视口时(即部分不可见),只要与sticky元素的距离达到生效门槛,relative定位自动切换为fixed定位;等到父元素完全脱离视口时(即完全不可见),fixed...,#toolbar的父元素开始脱离视口,一旦视口的顶部与#toolbar的距离小于20px(门槛值),#toolbar就自动变为fixed定位,保持与视口顶部20px的距离。

1.8K40

CSS 定位详解

CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position。 display属性指定网页的布局。两个重要的布局,我已经介绍过了:弹性布局flex和网格布局grid。...这时,浏览器会按照源码的顺序,决定每个元素的位置,这称为"正常的页面流"(normal flow)。每个块级元素占据自己的区块(block),元素与元素之间不产生重叠,这个位置就是元素的默认位置。...# 3.3 fixed 属性值 fixed表示,相对于视口(viewport,浏览器窗口)进行偏移,即定位基点是浏览器窗口。这会导致元素的位置不随页面滚动而变化,好像固定在网页上一样。...它的具体规则是,当页面滚动,父元素开始脱离视口时(即部分不可见),只要与sticky元素的距离达到生效门槛,relative定位自动切换为fixed定位; 等到父元素完全脱离视口时(即完全不可见),fixed...,#toolbar的父元素开始脱离视口,一旦视口的顶部与#toolbar的距离小于20px(门槛值),#toolbar就自动变为fixed定位, 保持与视口顶部20px的距离。

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

    【Web前端】深入CSS 布局

    CSS 页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。...四、Grid布局 Grid布局是CSS的一种二维布局系统,可以非常轻松地创建复杂的网页布局。与Flexbox相比,Grid布局能够同时控制行和列。 1....固定定位(Fixed) 固定定位的元素相对于浏览器窗口进行定位,即使页面滚动,元素也会保持在固定位置。... 这是一个固定定位的元素 一个固定在浏览器窗口右下角的元素,即使页面滚动,它的位置也不会改变...使用Grid布局创建一个三行三列的网格,其中第一行的两个单元格合并为一个单元格,第三行的三个单元格合并为一个单元格。

    10510

    动手练一练,手写一个价格对比、固定表头滚动的表格

    本部分内容摘自: https://juejin.im/entry/59c1fd23f265da06594316a9 作者:左鹏飞 三、创建 HTML 基础结构 1、创建三个基础的 sections 的区域...HTML结构和CSS完成后,接下来我们编写脚本固定表头。...获取用户从视口顶部滚动的距离(pageYOffset) 获取最后一部分内容区域距离窗口顶部的高度(getBoundingClientRect().top) 检测滚动条是否滚动到表格区域。...如果滚动到表格区域,获取重置后的表头宽度。 接下来我们来判断第三部分内容区域距离视口顶部的高度是否大于表头的高度。...由于窗口大小并非固定,我们会经常会拖动或调整窗口的大小,因此相关元素的宽度和视口高度都要重新计算,这里我们需要添加 resize 事件进行监听,示例代码如下: window.addEventListener

    3.2K31

    万字总结 CSS 布局

    其原本占据的空间也会被移除。该元素会定位会相对于视口容器,除非其某个祖先元素也是定位元素(position值不为static)。...你可以通过设置top、left、bottom和right偏移量属性来将元素移动到你想要的位置。 但是通常情况下你并不希望元素相对于视口进行定位,而是相对于容器元素。...> 「效果如下:」 在这里插入图片描述 3.3 固定定位 大多数情况下,position: fixed的元素会相对于视口定位,并且会从正常文档流中被移除,不会保留它所占据的空间。...当页面滚动时,固定的元素会留在相对于视口的位置,而其他正常流中的内容则和通常一样滚动。 当你想要一个固定导航栏一直停留在屏幕上时这会非常有效。...这样固定的元素就会相对于该块级元素偏移,而非视口。 接下来给出栗子: <!

    5.7K20

    waypoint_使用jQuery Waypoint创建粘性导航标题

    最重要的是,您将熟悉jQuery Waypoints插件的基础知识,该插件将提供高级功能:当用户向下滚动时,导航栏将停留在视口的顶部,并进行更改以指示当前部分。...当元素的顶部在视口顶部下方的指定距离处时,正值触发路点;当元素的位置在视口顶部上方远处时,负值触发路径。 )。...offset的值可以是数字(代表固定数量的像素),包含百分比的字符串(解释为视口高度的百分比)或返回多个像素的函数。 最后一个可以提供一些严重的灵活性,稍后我们将使用它。...如果您不仅仅想添加和删除类,还可以考虑使用LavaLamp这样的插件。 在某些时候,您可能已经注意到,单击导航栏中的链接会将部分的顶部置于浏览器视口的顶部。...它带有两个参数-滚动目标和包含不同选项的对象,在这种情况下,这很容易解释。 单击链接的href属性可以很好地用作滚动目标,并且用作顶部偏移的表达式会将目标放置在视口高度的15%处。

    3.4K30

    寒假提升 | Day6 CSS 第四部分

    总结元素隐藏的方法,并且说出他们的区别 display:none 元素不显示出来, 并且也不占据位置, 不占据任何空间 visibility:hidden 会占据元素应该占据的空间 rgba设置颜色...进行下面的案例练习 可以先不做两行显示不全的… 可以先不做评论的靠右内容 务必下载!! 今日的代码和讲义 以及思维导图:【点击此链接下载 Day06.zip】 大纲 一....box-shadow ,用于给文字添加阴影效果 的常见格式如下(没有向内) 我们可以通过一个网站测试文字的阴影: https://html-css-js.com/css/generator...,或者随着包含它的区块滚动。...如果一个元素拥有滚动机制,背景将会随着元素的内容滚动. fixed:此关键属性值表示背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。

    1.3K20

    关于移动端适配,你必须要知道的

    所以,布局视口是网页布局的基准窗口,在 PC浏览器上,布局视口就等于当前浏览器的窗口大小(不包括 borders 、 margins、滚动条)。...视觉视口( visual viewport):用户通过屏幕真实看到的区域。 视觉视口默认等于当前浏览器的窗口大小(包括滚动条宽度)。...例如:用户将浏览器窗口放大了 200%,这时浏览器窗口中的 CSS像素会随着视觉视口的放大而放大,这时一个 CSS像素会跨越更多的物理像素。...4.7 获取浏览器大小 浏览器为我们提供的获取窗口大小的 API有很多,下面我们再来对比一下: ? window.innerHeight:获取浏览器视觉视口高度(包括垂直滚动条)。...contain: 可视窗口完全包含网页内容 cover:网页内容完全覆盖可视窗口 默认情况下或者设置为 auto和 contain效果相同。 7.3 env、constant ?

    1.9K41

    关于移动端适配,你必须要知道的

    所以,布局视口是网页布局的基准窗口,在 PC浏览器上,布局视口就等于当前浏览器的窗口大小(不包括 borders 、 margins、滚动条)。...视觉视口( visual viewport):用户通过屏幕真实看到的区域。 视觉视口默认等于当前浏览器的窗口大小(包括滚动条宽度)。...例如:用户将浏览器窗口放大了 200%,这时浏览器窗口中的 CSS像素会随着视觉视口的放大而放大,这时一个 CSS像素会跨越更多的物理像素。...4.7 获取浏览器大小 浏览器为我们提供的获取窗口大小的 API有很多,下面我们再来对比一下: ? window.innerHeight:获取浏览器视觉视口高度(包括垂直滚动条)。...contain: 可视窗口完全包含网页内容 cover:网页内容完全覆盖可视窗口 默认情况下或者设置为 auto和 contain效果相同。 7.3 env、constant ?

    2K20

    关于移动端适配,你必须要知道的

    所以,布局视口是网页布局的基准窗口,在 PC浏览器上,布局视口就等于当前浏览器的窗口大小(不包括 borders 、 margins、滚动条)。...视觉视口( visual viewport):用户通过屏幕真实看到的区域。 视觉视口默认等于当前浏览器的窗口大小(包括滚动条宽度)。...例如:用户将浏览器窗口放大了 200%,这时浏览器窗口中的 CSS像素会随着视觉视口的放大而放大,这时一个 CSS像素会跨越更多的物理像素。...4.7 获取浏览器大小 浏览器为我们提供的获取窗口大小的 API有很多,下面我们再来对比一下: ? window.innerHeight:获取浏览器视觉视口高度(包括垂直滚动条)。...contain: 可视窗口完全包含网页内容 cover:网页内容完全覆盖可视窗口 默认情况下或者设置为 auto和 contain效果相同。 7.3 env、constant ?

    2.1K10

    【Java 进阶篇】HTML表格标签详解

    HTML表格基础 在HTML中,使用标签来创建表格,表格包含行和列。每行用标签表示,而每个单元格用标签表示。...td> 行2,列2 这将创建一个包含两行两列的表格,如下所示: 行1,列1 行1,列2 行2,列1 行2,列2 2....合并单元格 有时,我们需要合并表格中的单元格以创建更复杂的布局或显示。HTML允许我们使用colspan和rowspan属性来实现这一点。 3.1....以下是一些关于表格语义化的重要考虑因素: 表格应该包含标题,以便读者明白表格的内容和用途。 表头应该使用和来标记,以表示表头信息。...结论 HTML表格是在网页上显示和组织数据的强大工具。在本文中,我们介绍了HTML表格的基础,包括如何创建表格、定义表头、合并单元格、添加样式以及提高表格的语义化。

    39810

    为什么margin、padding和其他间距技术应使用 px 单位

    绝对长度单位总是相同的,而不是基于页面中的其他内容 相对长度单位单位可以改变,并基于字体和视口 如何确定何时使用绝对或相对 CSS 单位?...对于 font-size 属性使用 rem 单位是最佳实践,因为它允许用户通过个人设备上的设置来自定义他们的浏览体验 相对长度单位也常用于根据用户的视口尺寸改变页面外观。...对于只想以不同方式阅读内容的用户来说,过高的页面意味着更多的滚动和操作,而且他们一次能看到的内容也会更加有限。...从高层次来看,它具有 带有徽标、多个链接和几个按钮的导航标题 一个两栏式的行动号召布局,包含大号文本、描述、按钮和一个圣诞主题的图形。...我们可以看到这一点: 导航标题现在非常高,几乎占据了窗口高度的一半,还遮住了下一部分内容。 双栏行动号召部分仍然是两栏,没有为所有文字留出太多的水平空间。

    13010

    【适配】425- 彻底搞懂移动Web开发中的viewport与跨屏适配

    维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...视口范围内的图像会以剪切的形式,投影到到世界坐标窗口中,完成图像的可视化展示。 在 Web 浏览器中,视口是整个文档的可见部分。如果文档大于视口,则用户可以通过滚动来移动视口。...因为,浏览器窗口中所浏览图像的放大,是依赖于视口的缩小来实现的。 如果不好理解,可以参照下图动画来感受一下。(上面蓝框表示底层画布、红框表示视口,下面表示用户在浏览器窗口中看到的页面) ?...同理,当浏览器窗口比较小,而我们想要看到页面下面的内容时,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是视口的下移。...如前面 viewport 概念的解释,css 中同样 px 大小的宽高描述,在不同大小的视口状态下,用户在浏览器窗口中看到的页面大小的效果是不同的。

    3.1K30

    响应式布局,你需要知道这些

    设备像素与CSS像素的区别是什么? EM,REM 的计算规则是什么?实际应用中如何选择? 什么是视口 viewport,布局视口,视觉视口,理想视口的区别? 百分比单位和视口单位的计算规则是什么?...所以我们还需要另一种布局视口,它的宽度和视觉视口相同,用户不需要缩放和拖动网页就能获得良好的浏览体验,这就是理想视口(idea viewport)。...1vh = 1% 视口高度 以 IPhone X 为例,vw 和 CSS 像素的换算如下, 的布局,作为补充,W3C 在后续提出了网格布局(CSS Grid Layout),网格将容器再度划分为 “行” 和 “列”,产生单元格,项目(子元素)可以在单元格内组合定位...内容会溢出视口外,导致出现横向滚动条对不对,这在移动端是非常不好的浏览体验,因为用户往往更习惯上下滚动,而不是左右滚动,所以我们需要确保图片内容不要超出 viewport,可以通过设置元素的最大宽度进行限制

    1.8K20

    CSS | 视差滚动 | 笔记

    background-attachment: 决定 背景图像的位置 是在 视口内固定 ,或者 随着包含它的区块滚动 。 它的属性值的含义如下: 属性值 含义 fixed 背景相对于视口固定。...如果一个元素拥有滚动机制,背景将会随着元素的内容滚动,并且背景的绘制区域和定位区域是相对于可滚动的区域而不是包含他们的边框。...这意味着 perspective(200px) 和 translateZ(75px) 在HTMLElement和计算机屏幕之间创建了一个 200px 的虚拟空间, 并将其向你移动了 75px。...通过在视差滚动中应用不同的 translateZ 值,可以创建层次感和深度效果。...遗憾的是,仍然没有一种简单的方法可以让一个元素在不依赖javascript的情况下占据整个视口高度。 height: 100vh 是如此接近伟大,但考虑到它在移动设备上的局限性,最好避免它。

    82021

    彻底搞懂移动Web开发中的viewport与跨屏适配

    维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...视口范围内的图像会以剪切的形式,投影到到世界坐标窗口中,完成图像的可视化展示。 在 Web 浏览器中,视口是整个文档的可见部分。如果文档大于视口,则用户可以通过滚动来移动视口。...因为,浏览器窗口中所浏览图像的放大,是依赖于视口的缩小来实现的。 如果不好理解,可以参照下图动画来感受一下。(上面蓝框表示底层画布、红框表示视口,下面表示用户在浏览器窗口中看到的页面) ?...同理,当浏览器窗口比较小,而我们想要看到页面下面的内容时,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是视口的下移。...如前面 viewport 概念的解释,css 中同样 px 大小的宽高描述,在不同大小的视口状态下,用户在浏览器窗口中看到的页面大小的效果是不同的。

    3.4K20

    【学习图片】1.图片简史

    响应式布局中的图像 除了灵活的布局和使用CSS媒体查询之外,"灵活的图像和媒体"是响应式网页设计的三个重要方面之一。...从视觉上看,这完美无瑕-缩小光栅图像在视觉上是无缝的。 通过一两行CSS,缩小的图像看起来就像我们指定了一个图像源,而这个图像源就是要以这个尺寸显示的。...例如,如果一张图像占据的空间的宽度可以根据用户的视口大小从 300px 到 2000px 不等,则该图像的源图像的内在宽度至少应为 2000px。...但是,他们仍然要传输和渲染 2000px 宽的图像,消耗大量带宽和处理能力,没有任何实际效益。 随着第一款“Retina”设备的出现,情况变得更加糟糕,因为显示密度成为了视口大小的关注点。...通过在src中提供浏览器一个800像素宽的源图像,并在CSS中指定它应该以400像素宽显示,结果是以双倍像素密度渲染的图像。

    1.1K40

    前端硬核面试专题之 CSS 55 问

    视差滚动(Parallax Scrolling)通过在网页向下滚动的时候,控制背景的移动速度比前景的移动速度慢 来创建出令人惊叹的 3D 效果。 CSS3 实现。...四、vh 与 vw 视口 在桌面端,指的是浏览器的可视区域; 在移动端,它涉及 3个 视口:Layout Viewport(布局视口),Visual Viewport(视觉视口),Ideal Viewport...视口单位中的 “视口”,桌面端指的是浏览器的可视区域;移动端指的就是 Viewport 中的 Layout Viewport。...vh / vw 与 % 单位 解释 vw 1vw = 视口宽度的 1% vh 1vh = 视口高度的 1% vmin 选取 vw 和 vh 中最小的那个 vmax 选取 vw 和 vh 中最大的那个...视口的尺寸 不过由于 vw 和 vh 是 css3 才支持的长度单位,所以在不支持 css3 的浏览器中是无效的。

    2K20

    响应式设计

    给所有用户提供同一份 HTML 和 CSS。通过使用几个关键技术,根据用户浏览器视口的大小(或者屏幕分辨率)让内容有不一样的渲染结果。这种方式不需要分别维护两个网站。...做响应式设计时,一定要确保 HTML 包含了各种屏幕尺寸所需的全部内容。你可以对每个屏幕尺寸应用不同的 CSS,但是它们必须共享同一份 HTML。...因为要先实现移动版设计,所以更应该了解在更大的视口下网页长什么样,这样才能在一开始就写出合适的 HTML 结构。...固定容器(比如,设定了 width: 800px 的元素)在小屏上会超出视口范围,导致需要水平滚动条,而流式容器会自动缩小以适应视口。...网页默认就是响应式的。没添加 CSS 的时候,块级元素不会比视口宽,行内元素会折行,从而避免出现水平滚动条。加上 CSS 样式后,就需要来维护网页的响应式特性了。

    2.1K10

    移动 web 开发最佳实践

    其中像素比为1的占用4个,像素比为2的占用16个。 视口(viewport): 视口指的是移动设备中的设备屏幕窗口。...在移动端浏览器当中,存在着两种视口,一种是视觉视口(也就是我们说的设备大小), 另一种是布局视口(我们要看的网页的宽度是多少)。...先说一下视口的起源,智能设备刚出现的时候,查看桌面端的页面时会出现一个问题:由于早期的页面很多采用固定宽度的布局,导致放在移动端的小窗口下出现横向的滚动条,不便于用户查看,所以浏览器厂商研究出了布局视口...布局视口的宽度一般在768px~1024px(由浏览器厂商设置),常见宽度980px,这样,小屏的移动设备能够一次性完全显示桌面端页面,避免了浏览器出现横向滚动条。...其实这两行代码的作用是一样的。他们的的作用都是不对当前的页面进行缩放,也就是页面本该是多大就是多大。因为这里的缩放值是1,也就是没缩放,屏幕的宽度自然是实际能展示的宽度了。

    3.1K10
    领券