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

vivo悟空活动中台-基于行为预设的动态布局方案

,出现底部留白; 比设计稿“短”,就会出现页面纵向内容无法一屏显示的问题,即元素溢出。...下图展示了分别相对于顶部左边、顶部右边、底部左边和底部右边固定定位的元素: 2.4、“精进”的优化 2.4.1、初步优化方案的问题 这种布局方案可以做到无论是横向还是纵向,页面内容所占空间始终与区域相同...锚点的设置可以让元素的定位更加灵活:如果元素的锚点设置为其底边的中点,那么令锚点吸附顶部即可实现元素底部相对视顶部距离固定,这是常规固定定位无法实现的。...3.3、元素定位 我们以左上角作为定位坐标系的原点 ( 0, 0 ) ,元素的吸附性使用元素锚点相对于定位原点的距离进行描述。...,即 不同口中,元素 高度的一半加上元素顶部屏幕顶部的距离的和 的值,与元素 高度的一半加上元素底部屏幕底部的距离的和 的值,这两个值 相等。

2K10

五. css 布局之 position(定位

元素的position属性设置为fixed则开启了元素的固定定位 固定定位也是一种绝对定位,所以固定定位的大部分特点都和绝对定位一样, 唯一不同的是固定定位永远参照于浏览器的进行定位, 固定定位的元素不会随网页的滚动条滚动...唯一不同的是固定定位永远参照于浏览器的进行定位 固定定位的元素不会随网页的滚动条滚动...​ 当元素的position属性设置为sticky则开启了元素的粘滞定位 粘滞定位和相对定位的特点基本一致, 不同的是粘滞定位可以在元素到达某个位置将其固定 <!...- 当元素的position属性设置为sticky则开启了元素的粘滞定位 - 粘滞定位和相对定位的特点基本一致,...border-radius: 50%; background-color: rgba(255, 255, 255, .3); /* 背景颜色值设置内容区

2.1K41
您找到你想要的搜索结果了吗?
是的
没有找到

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

而新的sticky定位具有所有类型的相似性。 使用 position: sticky 使用 position: sticky ,每个人都很快明白,当口到达定义的位置,元素会粘在那里。...当它正常工作,元素会"粘"在一定位置,但在滚动的其他部分,它又会停止"粘"住。作为一个每天都在使用CSS的人,作者无法接受自己不能深入理解这个问题的根本原因,所以决定深入研究sticky定位。...当位置与位置定义匹配,元素浮动,例如: top: 0px 。...Fixed - 当项目固定时,它的行为与 position: fixed 完全相同,浮动在的相同位置,从流中移除。...但你也可以使用它将元素粘贴到底部。这意味着可以定义页脚具有粘性位置,并且在向下滚动始终会出现粘在底部。当我们到达粘性容器的末尾,元素停留在其自然位置。最好将其用于自然位置为粘性容器底部的元素。

24320

CSS粘性定位是怎样工作的

正如我下面将要解释的那样,新的粘性定位与所有类型都有相似之处。 我的第一个粘性定位 可能很多人都玩过粘性定位。我已经接触过一段时间了,直到我意识自己并不是完全理解它。...当位置与位置定义匹配,该元素将会浮动,例如: top: 0px 。 例: ? 粘性容器 —— 是包装粘性元素的 HTML 元素。 这是粘性元素可以浮动的最大区域。...固定 —— 当元素被粘住,它的行为与 position: fixed 完全相同,浮动在与的相同位置,并从流中移除。...在大多数情况下,您可以使用粘性定位元素粘贴到顶部,如下所示: ? 这正是它被设计的初衷,而在此之前,只能使用JavaScript完成这个功能。 但你也可以使用它把元素粘到底部。...这意味着你可以把页脚定义为粘性,并且在向下滚动使它看起来总是被粘在底部。 当到达粘性容器的末端,元素会停在它的自然位置。 最好是在以粘性容器底部为自然位置的元素上使用它。

1.8K10

CSS 定位网页元素

前言当我们在设计网页,经常需要对网页中的元素进行定位,以便它们出现在我们想要的位置。在 CSS 中,我们可以使用不同的定位属性来定位元素。...一、position: static这是元素的默认定位属性,也就是元素在文档流中的位置。如果你没有指定元素的定位属性,那么元素就是 static 定位。...div { position: relative; top: 20px; left: 10px;}三、position: absolute这个属性元素从文档流中删除,并相对于其最近的已定位祖先元素进行定位...div { position: absolute; top: 20px; left: 10px;}四、position: fixed这个属性元素固定在的某个位置,不随页面滚动而移动。...div { position: fixed; top: 20px; left: 10px;}五、position: sticky这个属性元素固定在容器的顶部或底部,直到它滚动到的顶部或底部

1.3K40

getBoundingClientRect使用指南

getBoundingClientRect Element.getBoundingClientRect() 含义: 方法返回元素的大小及其相对于的位置。...当计算边界矩形,会考虑区域(或其他可滚动元素)内的滚动操作,也就是说,当滚动位置发生了改变,top和left属性值就会随之立即发生变化(因此,它们的值是相对于的,而不是绝对的)。...如图所示: 当页面的元素在浏览器的左上角,得到的top和left值为负值,right和bottom值为正值。...应用场景一 1、获取dom元素相对于网页左上角定位的距离 以前的写法是通过offsetParent找到元素定位父级元素,直至递归到顶级元素body或html。...var bottom = el.getBoundingClientRect().bottom; // 元素底部可见区域顶端的距离 var se = document.documentElement.clientHeight

1.3K40

一次解决你的图像尺寸和定位问题。

图像导入到我们的组件中,然后将其放在页面上,下面是正常默认的情况: ? 在不同的口上,图片随着屏幕的变化而变化。在不同的消费设备上有超过10,000种不同的屏幕尺寸。有小到360px宽的手机。...这会比刚开始的好的多了,图像不再随的大小进行缩放,变大的时候,图片也只显示外围容器设置的大小。 但是,如果太小,则会切除图像的底部。...CSS有一些内置的特性来帮助我们 我们来试试另一种方法。不需要将图像导入组件中,直接在CSS文件中引用它: ? ?...CSS 更多的内置特性 在CSS中, 还有一些 background-image 相关的选项: ? background-position: center 告诉浏览器图像居中放置在div上。...这样也能完美用 css 的方法来解决图片定位,大小的问题。

94530

在移动端避免使用100vh「建议收藏」

在移动端避免使用100vh CSS中的Viewport单元听起来很棒。如果你想将一个元素设置成全屏高度,你可以设置高度:100vh,这样你就有了一个完美的全屏元素,它会随着的改变而改变大小!...最好避免100vh,而是依赖javascript来设置高度,以获得完整的体验。...这些浏览器没有100vh的高度调整为高度变化时屏幕的可见部分,而是100vh设置为隐藏地址栏的浏览器高度。结果是,当地址栏可见,屏幕的底部部分将被切断,从而破坏了100vh的初衷。...如下所示: 当地址栏可见,由于移动浏览器不正确地100vh设置为屏幕高度而没有显示地址栏,因此屏幕底部被切断。在上图中,应该在屏幕底部的按钮被隐藏了。...遗憾的是,仍然没有一种简单的方法可以让一个元素在不依赖javascript的情况下占据整个高度。height: 100vh是如此接近伟大,但考虑它在移动设备上的局限性,最好避免它。

2.4K21

移动端避免使用100vh

CSS中的单位听起来很棒。如果要设置元素的样式以占据整个屏幕的高度,则可以设置height: 100vh,您拥有一个完美的全屏元素,该元素会随着的变化而调整大小!可悲的是,事实并非如此。...这些浏览器没有100vh高度调整为高度变化时屏幕的可见部分,而是100vh设置为浏览器的高度,并隐藏了地址栏。结果是,当地址栏可见,屏幕的底部将被切除。 如下所示: ?...当显示地址栏,由于移动浏览器错误地100vh设置为屏幕高度而没有显示地址栏,因此屏幕底部被切断。在上图中,应隐藏在屏幕底部的按钮。...页面加载高度设置为window.innerHeight可以高度正确设置为窗口的可见部分。如果地址栏可见,则window.innerHeight将为全屏的高度。...在Wordsheet.io上学习,您可以看到这一点。例如,尝试在移动浏览器上打开wordsheet.io/demo/V3Y 。无论地址栏是否可见,屏幕都将是的高度。

1.8K20

建议收藏!总结了 42 种前端常用布局方案

如果页面内容不够长底部栏就会固定浏览器的底部;如果足够长底部栏就后跟随在内容的后面。...使用calc函数实现 使用 calc 函数实现的方式会比较简单,中间的容器最少高度为宽度的100% - 头部和底部两部分的高度即可完成该功能。...实现CSS代码如下: .container { /* 这里的 中间 部分的容器最少为宽度的 100% - 头部和底部两部分的高度即可完成该功能 */ min-height: calc...Flex方案 实现步骤如下 开启 flex 布局 子元素布局方向修改为垂直排列 设置最小高度为当前,使不管中间部分有多高,始终都可以保持在底部 设置中间部分容器高度为自适应 实现CSS代码如下:...Grid方案 实现步骤如下 开启 grid 布局 置最小高度为当前,使不管中间部分有多高,始终都可以保持在底部 实现CSS代码如下: .main { /* 开启grid布局 */ display

4.1K30

建议收藏!总结了42种前端常用布局方案

如果页面内容不够长底部栏就会固定浏览器的底部;如果足够长底部栏就后跟随在内容的后面。...使用calc函数实现 使用 calc 函数实现的方式会比较简单,中间的容器最少高度为宽度的100% - 头部和底部两部分的高度即可完成该功能。...实现CSS代码如下: .container { /* 这里的 中间 部分的容器最少为宽度的 100% - 头部和底部两部分的高度即可完成该功能 */ min-height: calc...Flex方案 实现步骤如下 开启 flex 布局 子元素布局方向修改为垂直排列 设置最小高度为当前,使不管中间部分有多高,始终都可以保持在底部 设置中间部分容器高度为自适应 实现CSS代码如下:...Grid方案 实现步骤如下 开启 grid 布局 置最小高度为当前,使不管中间部分有多高,始终都可以保持在底部 实现CSS代码如下: .main { /* 开启grid布局 */ display

4.1K30

移动端避免使用100vh

CSS中的单位听起来很棒。如果要设置元素的样式以占据整个屏幕的高度,则可以设置height: 100vh,您拥有一个完美的全屏元素,该元素会随着的变化而调整大小!可悲的是,事实并非如此。...这些浏览器没有100vh高度调整为高度变化时屏幕的可见部分,而是100vh设置为浏览器的高度,并隐藏了地址栏。结果是,当地址栏可见,屏幕的底部将被切除。...如下所示: 当显示地址栏,由于移动浏览器错误地100vh设置为屏幕高度而没有显示地址栏,因此屏幕底部被切断。在上图中,应隐藏在屏幕底部的按钮。...页面加载高度设置为window.innerHeight可以高度正确设置为窗口的可见部分。如果地址栏可见,则window.innerHeight将为全屏的高度。...在Wordsheet.io上学习,您可以看到这一点。例如,尝试在移动浏览器上打开wordsheet.io/demo/V3Y 。无论地址栏是否可见,屏幕都将是的高度。

1.8K20

面试官问:如何判断一个元素是否在可视区域?

❞ window.innerHeight window.innerHeight 属性表示浏览器窗口的(viewport)高度(以像素为单位);如果有水平滚动条,也包括滚动条高度。...通过getBoundingClientRect方法来获取元素的位置信息 Element.getBoundingClientRect() 方法返回一个 DOMRect 对象,其提供了元素的大小及其相对于的位置...一次是目标元素刚刚进入(开始可见),另一次是完全离开(开始不可见)。...应用场景 「图片的懒加载」 有时,我们希望某些静态资源(比如图片),只有用户向下滚动,它们进入才加载,这样可以节省带宽,提高网页性能。...「列表的无限滚动」 无限滚动,最好在页面底部有一个页尾栏。一旦页尾栏可见,就表示用户到达了页面底部,从而加载新的条目放在页尾栏前面。

2.7K21

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

在本文中,我们学习 CSS Viewport units(单位)以及如何使用它们,并用列举一些常见问题及其解决方案和用例,让我们开始吧。...假设我们有一个元素与以下CSS: .element { width: 50vw; } 当宽度为500px,50vw计算如下 width = 500*50% = 250px 高度 vh单位表示根元素高度的百分比...我们有一个元素与以下CSS: .element { height: 50vh; } 当高度为290px,70vh计算如下: height = 290*70% = 202px 大家都说简历没项目写...从容器中挣脱出来 我注意一个用例最适合编辑版面。 一个子元素,即使父元素的宽度受到限制,它也会占据100%的宽度。 考虑下面: ?...Vmin 和 Vmax 用例 该用例是关于页面标题元素的顶部和底部padding 。 当较小(移动),通常会减少padding 。

3.2K30

Vue.js开发移动端经验总结

单位 宽度window.innerWidth和高度window.innerHeight(即layoutviewport)等分为 100 份。...它的作用是:position:fixed的元素将相对于屏幕(viewport)的位置来指定其位置。并且元素的位置在屏幕滚动不会改变。...iOS弹出键盘;软键盘唤起后,页面的 fixed元素失效(iOS认为用户更希望的是元素随着滚动而移动,也就是变成了 absolute定位),既然变成了absolute,所以当页面超过一屏且滚动,失效的...当元素祖先的 transform 属性非 none定位容器由改为该祖先。说的简单点,就是position:fixed的元素会相对于最近的并且应用了transform的祖先元素定位,而不是窗口。...希望页面状态保存,当进入页面希望获取新的数据,使用vue-navigation可以很好的实现这个效果。

4.2K10

是时候在项目中使用这个CSS属性了

八月份做移动端项目的时候,同事让我帮忙看个底部安全距离的问题,我立即摩拳擦掌,原因无他,仅仅是因为当天上午我在medium闲逛,正好看到了这篇文章:You have to start using this...CSS property in your websites(https://bootcamp.uxdesign.cc/you-have-to-start-using-this-css-property-in-your-websites...问题说明 你有没有试过一个元素定位屏幕底部? 您很快遇到的问题是可见与交互式不同。移动浏览器倾向于始终优先考虑基本的 UI 元素(如 IOS 上的主页栏)的互动性。...幸运的是,移动浏览器这些安全区域存储在环境变量中,供我们使用!您的内容应该与安全区域一起工作,而不是放在它后面不可接触。...cookie弹出窗口的底部添加padding,使其在任何情况下都能在所有设备上使用。

61030
领券