我正在尝试创建一个设计元素,我想让它浮在屏幕右下角的边缘,
我只想展示其中的一半,而另一半我想放在屏幕之外。
我尝试使用position absolute来实现这一点,但由于某种原因,它会放大屏幕,而不是将元素放置在边缘之外。
我错过了什么
<div class="app-wrapper" style="position: relative;">
<div class="half-hidden-element" style="
position: absolute;
width: 41.875vw;
height: 41.875vw;
left: 100%;
background-color: black">
</div>
</div>
3条答案
按热度按时间4ktjp1zp1#
它不会影响页面大小你溢出的宽度div包含的元素
你将不得不通过使用溢出CSS属性来管理它
5uzkadbs2#
要做到这一点,需要
body { overflow: hidden }
和适当的计算,将一半的元素移动到视口右侧之外。属性
left,right,top,bottom
描述的是相对于父元素大小的位置,而不是position: absolute
元素本身。如果你想要50%的元素.half-hidden-element { width: 41.875vw }
在父元素之外,你需要用41.875 / 2 = 20.9375
替换它left: calc(100% - 20.9375vw)
right: -20.9375vw
该代码片段在此解决方案旁边显示了使用CSS * 自定义属性 * 的解决方案。我添加了一些边界元素(需要
body { overflow: auto }
)来检查最终的计算结果。zpqajqem3#