[英]border-radius on parent div breaks perspective / translateZ on child
我遵循了有關純css滾動視差效果的教程,但是現在我想將圖像放置在一個圓圈內。
所以我...
1)將父div(“包裝器”)設置為我選擇的尺寸,
2)將父級設置為溢出隱藏,(到目前為止,效果很好,視差效果仍在我的“裁剪”框中),
3)...但是當我設置任何類型的邊框半徑時,它會破壞視差效果,並在滾動時將圖像凍結在適當的位置。
這是我的筆: https : //codepen.io/iiiDaNiii/pen/eEBEyY ,其視差效果在稱為“包裝紙”的方形div內起作用。 如果嘗試添加邊界半徑,則會破壞視差效果。
.html {
overflow:hidden;
}
.scroll {
right:0px;
overflow-y:auto;
overflow-x:hidden;
position:absolute;
height:100vh;
width:100vw;
-webkit-overflow-scrowling: touch;
-webkit-perspective: 1px;
perspective: 1px;
perspective-origin: 0% 0%;
margins: 0px;
padding: 0px;
top:0px;
}
.wrapper {
background-color:blue;
position:relative;
height:20em;
width:20em;
overflow:hidden;
}
.image {
position:relative;
height:vh;
width:vw;
-webkit- transform: translateZ(-1px) scale(2);
transform: translateZ(-1px) scale(2);
transform-origin: 50% 0;
}
.space{
position:relative;
background-color:white;
height:2000px;
}
拉德有什么想法嗎?
更新/說明:我希望圓之外的任何東西都是透明的...。以便視差圓圖像可以位於另一個圖像之上。
我相信我已經找到了解決方案。
我在.wrapper
元素中添加了一個偽類,並.wrapper
應用了一個實心的box-shadow
,其border-radius
為5px,這保持了視差效果並給出了圓角。
因此,將以下選擇器添加到CSS中:
.wrapper:before
{
position: absolute;
content: '';
top: 0; left: 0;
right: 0; bottom: 0;
border-radius: 5px;
z-index: 5;
box-shadow: 0 0 0 10px white;
}
我在這里創建了一個現場小提琴。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.