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

第119天:移动端:CSS像素、屏幕像素和视口的关系

移动前端中常说的 viewport (视口)就是浏览器显示页面内容的屏幕区域。...一、视口 1、layout viewport(布局视口)   一般移动设备的浏览器都默认设置了一个viewport 元标签,定义一个虚拟的layout viewport(布局视口),用于解决早期的页面在手机上显示的问题...2、visual viewport(视觉视口)和物理像素 visual viewport(视觉视口)物理屏幕的可视区域,屏幕显示器的物理像素,同样尺寸的屏幕,像素密度大的设备,硬件像素会更多。...和 dip (设备逻辑像素) ideal viewport(理想视口)通常是我们说的屏幕分辨率。...设备的逻辑像素宽度和物理像素宽度(像素分辨率)的关系满足如下公式: 逻辑像素宽度*倍率 = 物理像素宽度 而移动端手机屏幕通常不可以设置分辨率,一般都是设备厂家默认设置的固定值,换句话说 dip 的值就是

1.7K50

CSS粘性定位是怎样工作的

static 和 relative 会保留它们在文档流中的自然空间,而 absolute 和 fixed 则不会 —— 它们的空间被移除而且具有浮动行为。...粘性元素 —— 是我们用位置定义的 position: sticky 样式。 当视口位置与位置定义匹配时,该元素将会浮动,例如: top: 0px 。 例: ?...固定 —— 当元素被粘住时,它的行为与 position: fixed 完全相同,浮动在与视口的相同位置,并从流中移除。...这意味着你可以把页脚定义为粘性,并且在向下滚动时使它看起来总是被粘在底部。 当到达粘性容器的末端时,元素会停在它的自然位置。 最好是在以粘性容器底部为自然位置的元素上使用它。...去CodePen查看演示效果:https://codepen.io/elad2412/pen/MZZVjw 我在开发中常用它来粘贴摘要表,也会用在粘性页脚导航上,这种方法非常适合。

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

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

    static 和 relative 保留其在文档流中的自然空间,而 absolute 和 fixed 则不保留空间,它们具有浮动行为。而新的sticky定位具有所有类型的相似性。...使用 position: sticky 使用 position: sticky 时,每个人都很快明白,当视口到达定义的位置时,元素会粘在那里。...CSS Sticky 定位的真正工作原理! CSS 的 sticky 定位有两个主要部分,即粘性元素和粘性容器。 粘性元素 - 是我们使用 position: sticky 样式定义的元素。...Fixed - 当项目固定时,它的行为与 position: fixed 完全相同,浮动在视口的相同位置,从流中移除。...这意味着可以定义页脚具有粘性位置,并且在向下滚动时始终会出现粘在底部。当我们到达粘性容器的末尾时,元素将停留在其自然位置。最好将其用于自然位置为粘性容器底部的元素。

    30620

    终于等到你,新的虚拟键盘API 即将到来,快来先睹为快吧!

    这是一个具有以下内容的用户界面: Sticky header 固定头部 Sticky floating action button (FAB) 粘性浮动操作按钮 当用户将焦点放在输入框上时,虚拟键盘将会显示出来...浏览器将向上滚动以使输入框在键盘上方,因此粘性标题和浮动按钮将消失。 它看起来与以下内容相似: 这是移动浏览器中的默认行为。...使用虚拟键盘API修复键盘下隐藏的内容 由于虚拟键盘API的存在,我们可以定义视觉和布局视口相等。...VirtualKeyboard API 的使用案例 底部固定操作 在较小的视口上,您可能需要一个固定在界面底部的呼叫行动按钮或页脚。 考虑下面的图示,我们有一个固定在底部的CTA按钮。...你可能会对由于标题和固定底部的存在而导致的空间减少感到困惑。我们可以使用垂直媒体查询来在垂直空间足够的情况下显示标题。

    37020

    【CSS】1287- 一行 CSS 实现 10 种强大的布局

    通常称为粘性页脚,这种布局通常用于网站和应用程序,跨多个移动应用程序(页脚通常是工具栏)和网站(单页应用程序通常使用这种全局布局)。...要使页脚粘在底部,请添加: .parent { display: grid; grid-template-rows: auto 1fr auto; } 1fr页眉和页脚内容设置为自动采用其子项的大小...对于这些卡片,它们被放置在 Flexbox 显示模式中,使用 flex-direction: column 将方向设置为 column。 这会将标题、描述和图像块放在父卡片内的垂直列中。...在这里, clamp() 函数所做的是使该元素保持 50% 的宽度,直到 50% 大于 46ch (在较宽的视口上)或小于 23ch (在较小的视口上)。...在这种情况下,标题的字体大小将始终保持在 1.5rem 和 3rem 之间,但会根据 20vw 实际值增大和缩小以适应视口的宽度。

    4.7K20

    Z-blogPHP网站PC端和移动端显示不同广告的教程

    关于自适应大家应该有了一定的了解,但是之前一直在想,怎么实现PC端和移动端显示不同的广告,前段时间因为工作,所以一直在忙,逐渐的也就忘记了这件事。...偶然间在百度看到了一篇wp实现不同广告的介绍,于是又百度下zbp能否实现,测试过之后真的可以(然后最悲催的是,官方群有针对自适应显示不同广告的教程,但却,,,不好使^_^)。 ?...添加如下代码: //PC端和移动端显示不同广告 function brieflee_is_mobile(){     global $zbp;     $is_mobile = false;     $...然后在想显示不同广告的区域添加如下代码: {if brieflee_is_mobile()}     显示移动端广告 {else}     显示PC端广告 {/if} 然后保存,后台首页清空缓存重新编译模板...本站主题的广告后台展示,想要的赶快点击连接:Brieflee主题-把最好的送给你

    72540

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

    二、定位基础 CSS定位属性允许我们改变元素在文档流中的位置,从而实现更复杂的布局效果。CSS提供了几种不同的定位方式:静态定位、相对定位、绝对定位、固定定位和粘性定位。...relative">这是一个相对定位的元素 元素相对于它的默认位置被移动了50px到右边和20px到底部。...粘性定位 粘性定位是一种相对定位和固定定位的结合。通过设置 ​​position: sticky;​​,元素在滚动时会在某个阈值内相对位置固定,一旦滚动超过阈值,元素会跟随滚动继续移动。​​...top​​、​​bottom​​、​​left​​ 和 ​​right​​​ 属性用来设置粘性位置的阈值。 导航栏使用了固定定位,始终保持在视口的顶部,内容区域向下移动以避免被导航栏遮挡。

    9410

    CSS Viewport 单位,很多人还不知道使用它来快速布局!

    Vmin 单位 vmin表示视口的宽度和高度中的较小值,也就是vw 和 vh 中的较小值。如果视口宽度大于其高度,则将根据高度计算该值。 我们以下面的例子为例。 ?...但是,如果没有适当的测试就直接使用它可能会踩到坑。 让我们看下面的视频: ? 体大小变得非常小,这不利于可访问性和用户体验。据我所知,移动设备上的最小字体大小不应该不于14px。...在我的职业生涯中,我没有使用固定高度的页脚,因为在例如不同的屏幕尺寸下,此footer是不可行的。...响应式元素 假设我们有一个作品集来展示我们的响应式设计工作,并且我们有三种设备(移动设备、平板电脑和笔记本电脑)。每个设备包含一个图像。目标使用 CSS 来响应适配这些页面。 ?...Vmin 和 Vmax 用例 该用例是关于页面标题元素的顶部和底部padding 。 当视口较小(移动)时,通常会减少padding 。

    3.3K30

    position:sticky的兼容性尝试

    问题 目前前端的h5有个需求,就是“当页面上的若干个标题被拖动到视口的顶部时,则显示一个被定位到视口的顶部的tab标签,可对这个tab标签进行点击导航,并在某个特殊的情况下隐藏”。...最简单粗暴的做法就是针对document.body做scroll侦听,在函数中遍历所有的标题并计算出getBoundingClientRect计算出距离适口的顶部距离,决定是否显示tab栏或者活动标签,...,我们很容易兼容大多数移动端浏览器。...在pc和安卓的chrome中并未实现该属性,而在pc和iOS 的safari中全部兼容该属性,因此针对iOS可以单独使用sticky完成兼容。...sticky布局有着几个条件: + 元素并不会脱离文档流,当元素被粘在视口的顶部时,原来在文档流中的位置仍然占据,这点类似relative定位 + 元素相对于其最近可滚动的祖先元素“粘性定位”,如果其祖先元素都不能滚动

    3.7K100

    Interection Observer如何观察变化

    我这篇文章将讲一些不一样的东西。我在今年早些时候有幸向达拉斯VueJS聚会介绍了VueJS过渡组件,我在CSS-Tricks的第一篇文章就是以此为基础的。...DOM元素(targets)相对于包含元素或顶级视口(root)的可见性和位置。...通过这种方式,你可以跟踪观看者遇到特定目标所花费的时间。即使稍后将目标再次滚动到视图中,此属性也会提供新的时间。这可用于跟踪目标进入和离开根元素的时间。...该div将被设置为粘性元素并充当容器。用于根据粘性状态设置样式和更改元素的元素是class为sticky-content的div及其子元素。...但是,如果我们在目标元素移入和移出根元素时在浏览器中四处移动鼠标,则intersectionRatio确实会更新。我的猜测是,只有在存在某种形式的用户交互时,Chrome才会“激活”观察者。

    2.6K20

    vuejs开发H5页面总结

    最近参与了APP内嵌H5页面的开发,这次使用vuejs替代了jQuery,仅仅把vuejs当做一个库来使用,效率提高之外代码可读性更强,在此分享一下自己的一些开发中总结的经验。...关于布局方案 当拿到设计师给的UI设计图,前端的首要任务就是布局和样式,相信这对于大部分前端工程师来说已经不是什么难题了。移动端的布局相对PC较为简单,关键在于对不同设备的适配。...淘宝的方案总结为:根据设备设备像素比设置scale的值,保持视口device-width始终等于设备物理像素,接着根据屏幕大小动态计算根字体大小,具体是将屏幕划分为10等分,每份为a,1rem就等于10a...此时我们从图中若某个标注为100px,那么css中就应该设置为100/75 = 1.333333rem。所以为了提高开发效率,可以使用px转化为rem的插件。...众向的单位可以全部使用px,横向的使用rem,因为移动设备宽度有限,而高度可以无限向下滑动。

    2.1K90

    Web 技术:CSS最小和最大(宽度高度)知识点及优缺点

    由于宽度是以像素为单位定义的,因此不能保证上面的方法适用于移动视口。为了解决这个问题,我们可以使用百分比来代替像素作为最小和最大属性。考虑下面这个具有article主体的示例。....wrapper { max-width: 70ch; /* Other styles */ } 对高度未知的元素进行动画处理 在某些情况下,我们面临着使手风琴或移动菜单具有意想不到的内容高度的挑战...模态组件 对于模态组件,它需要最小和最大宽度,以便可以适应移动设备到PC的屏幕上的适应。...最小高度和粘性页脚 当一个网站的内容不够长,它希望看到页脚粘到底部。让我们用一个可视化的例子来更好地展示这一点。 ? 请注意,页脚未粘贴在浏览器窗口的末尾。...最大宽度/高度和视口单位的流体比率 为了使比例容器能够根据视口大小进行响应缩放,引入了padding hack。 现在,我们可以通过组合CSS中的视口单位和最大宽度/高度来模仿相同的行为。 ?

    6.1K20

    【交互探讨】无限滚动还是分页展示,这是个问题!

    例如,我们可以在初始页面加载时显示10-30个产品项目(移动设备上显示10个,桌面设备上显示30个)。当用户到达列表末尾时,我们可以自动加载接下来的10-30个产品。...就像我们习惯于使用粘性头部一样,我们可以集成一个页脚显示:一个小助手,它会保持在右下角的栏中,并在需要时显示页脚,而页面的其余部分使用无限滚动。...页脚显示,有一个按钮在需要时显示和隐藏页脚 结合分页和无限滚动 当用户向下滚动页面并加载项目时,我们可以将其作为动态分页呈现给用户(参见 Pepper.pl)。...当然,折叠面板也可以在点击时打开页脚。(可在原文中查看视频案例) 将分页和无限滚动结合在一起 - 以及屏幕底部的粘性页脚。 但是,我们如何处理“返回”按钮?...无限滚动清单 这里有一些设计时需要考虑的重要指南的列表可帮助设计更好的无线滚动: 如果有疑问,请始终选择分页。 使用无限滚动,始终集成页脚显示。 考虑从视觉上分离“旧”和“新”项目。

    3.3K20

    前端学习笔记—CSS

    固定定位元素 fixed 的元素相对于视口html定位,且不随视口滚动而滑动,不占原来的位置。同时设置float浮动失效。...粘性定位元素(stickily positioned element)是计算后位置属性为 sticky 的元素。 注:所有的定位都是同一层级。建议大模块用浮动,微调用定位。...; Translate 移动 相对于其它方式 移动盒子模型 的优点 : 使用 Translate 移动标签元素 , 不会影响其它元素的位置 , 不会脱标 ; Translate 只能移动块级元素 , 对于...可以设置在不同的媒体特征下时,显示不同的样式。...如屏幕宽度达到小于(max-width)一个临界值的时候,显示手机移动版网页等;大于(min-width)一个临界值则显示pc端网页样式。

    13310

    对定位的深入理解与应用

    定位参考点 参考定位元素的视口 **视口 :对于 ****PC**浏览器来说,视口就是我们看网页的那扇“窗户” 特点 脱离文档流,会对后面的兄弟元素、父元素有影响。...粘性定位 如何设置为粘性定位 给元素设置 position:sticky 即可实现粘性定位。...粘性定位通常用于创建吸顶效果或侧边栏固定效果,当用户滚动页面时,元素会始终保持在视口内的特定位置。...滚动属性(特别是 overflow: auto;)可以在元素内容超出容器时提供滚动条,使用户能够滚动查看全部内容,与粘性定位结合使用时,可以在固定位置时仍然允许内容的查看和操作。...定位层级 定位元素的显示层级比普通元素高,无论什么定位,显示层级都是一样的。 如果位置发生重叠,默认情况是:后面的元素,会显示在前面元素之上。

    11810

    响铃:乐视称要减少对阿里京东依赖,这个双11怎么玩儿?

    目前看乐视已经准备就绪,筹码也相当有份量。 手握两大电商节:414、919 今年5月,奥维云网和中怡康都公布数据显示,2016年4月乐视以71万台的电视销量,夺得全行业全渠道销量冠军。...而根据奥维云网(AVC)统计的9月中国彩电整体市场月度全渠道报告显示,乐视超级电视销量93.9万台,市场占有率19%,再一次位居全行业全渠道第一。...3、大屏电视更具会员粘性,同样对比数据,我们会发现:50吋-70吋电视用户购买影视会员的平均年限为8个月,而40吋-43吋电视用户购买影视会员的平均年限为6个月。...这区别于以天猫、淘宝、京东为代表,以B2C、C2C为主要模式,解决的是用户线上购物的电商1.0时代;也不同于以传统电商在移动端的延伸和微商为代表,以移动电商、社交电商为形态,解决的是用户移动端购物的电商...2、场景电商 乐视其实一直在做的一件事就是布局随意可连接用户场景的终端,比如超级手机是移动场景,超级电视是家庭生活场景,超级汽车是汽车移动场景。

    1.1K20

    聊聊苹果营销页中几个有趣的交互动画

    粘性定位 sticky 可以简单的认为是 「相对定位 relative」 和 「固定定位 fixed」 的混合,元素在跨越指定范围前为相对定位,之后为固定定位。...其实这样我们就可以很清楚的知道为什么 sticky 元素的高度为什么不能等于它爸爸的高度了,因为如果相等的话,粘性定位元素已经完全没有了实现粘性效果的空间,也就相当于失效了。...❝以上原理参考了张鑫旭老师的 深入理解position sticky粘性定位的计算规则[3],文章中有讲解 「流盒」 和 「粘性约束矩形」 的概念解释,以及具体的代码结构和 css 实现,大家可以查看原文...「视差滚动」(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。...上图中的效果,我们只需要一行 css 就可以实现了,不需要写复杂的 js 代码,直接设置 background-attachment: fixed 就完成了。

    1.9K60

    只要一行代码,实现五种 CSS 经典布局

    这几个布局都是自适应的,自动适配桌面设备和移动设备。代码实现很简单,核心代码只有一行,有很大的学习价值,内容也很实用。...四、三明治布局 三明治布局指的是,页面在垂直方向上,分成三部分:页眉、内容区、页脚。 ? 这个布局会根据设备宽度,自动适应,并且不管内容区有多少内容,页脚始终在容器底部(粘性页脚)。...第一部分(页眉)和第三部分(页脚)的高度都为auto,即本来的内容高度;第二部分(内容区)的高度为1fr,即剩余的所有高度,这可以保证页脚始终在容器的底部。...五、圣杯布局 圣杯布局是最常用的布局,所以被比喻为圣杯。它将页面分成五个部分,除了页眉和页脚,内容区分成左边栏、主栏、右边栏。 ? 这里的实现是,不管页面宽度,内容区始终分成三栏。...第一部分(页眉和左边栏)和第三部分(页脚和右边栏)都是本来的内容高度(或宽度),第二部分(内容区和主栏)占满剩余的高度(或宽度)。

    1.8K20

    理想的viewport(视口)并不存在

    在你依据少数几个严格的断点(breakpoints)来做设计决策之前,确保你已经考虑了屏幕尺寸和浏览器视口的巨大碎片化问题。...如果我们从收集到的数据点中筛选出前20个独特的视口尺寸,主要都是较小的尺寸。你可能会推测这些都是移动设备——特别是前10个——但也值得考虑的是,视口尺寸也会因环境条件而有所不同。...以一个具有固定页眉和/或页脚的“像素完美”(pixel perfect)用户界面为例。当你缩小开发用浏览器的尺寸时,它可能看起来很棒,但在前面概述的条件下,它看起来如何呢?..."移动端" 与 "桌面端" 在这次实验中,我们仅捕获了每个数据点的宽度和高度,这些尺寸是通过 window.innerWidth 和 window.innerHeight 获取的。...即使是平板用户也不会让浏览器填满整个屏幕,因此在考虑更大视口设计时,请务必考虑这一点——尤其是如果你为小屏幕隐藏内容,而为“桌面用户”显示内容时。

    21730

    css粘性定位sticky

    前言 发现很多博客的侧边栏可以跟随滚动条移动到底部又可以继续翻看侧边栏,F12看了下代码,仅仅是用了一个sticky定位,下边我简单说一下sticky定位 内容简介: 讲 sticky 定位之前,我先说一下...inherit规定应该从父元素继承 position 属性的值。 sticky的使用 粘性定位可以被认为是相对定位和固定定位的混合。...元素在跨越特定阈值前为相对定位,之后为固定定位,设置了以上样式的元素,在 viewport 视口滚动到元素 top 距离小于 10px 之前,元素为相对定位。...之后,元素将固定在与顶部距离 10px 的位置,直到 viewport 视口回滚到阈值以下。...#sticky-nav { position: sticky; top: 100px; } 设置 position:sticky 同时给一个 (top,bottom,right,left) 之一即可 粘性定位为什么不起作用

    1.1K10
    领券