Html 如何定位元素';相对于溢出文档/正文的s背景图像:由父级设置的隐藏? 问题

Html 如何定位元素';相对于溢出文档/正文的s背景图像:由父级设置的隐藏? 问题,html,css,css-position,background-image,overflow,Html,Css,Css Position,Background Image,Overflow,我希望背景图像是div.parent的div.child相对于主体,具有溢出:隐藏功能,用于div.parent。另外,我希望div.child的top:0应用于body而不是div.parent,这样无论div.parent在Y轴上的位置(因此,div.child的top:不需要调整) 示范 正文{ 位置:相对位置; 保证金:自动; 高度:1200px; 宽度:100%; 背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f

我希望
背景图像
div.parent
div.child
相对于
主体
,具有
溢出:隐藏
功能,用于
div.parent
。另外,我希望
div.child
top:0
应用于
body
而不是
div.parent
,这样无论
div.parent
在Y轴上的位置(因此,
div.child的
top:
不需要调整)

示范
正文{
位置:相对位置;
保证金:自动;
高度:1200px;
宽度:100%;
背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f000e1e87d0?ixlib=rb-1.2.1&ixid=eyjhchbawqiojeymdd9&auto=format&fit=crop&w=562&q=80“;
背景尺寸:100%自动;
背景位置:上中;
}
.家长{
宽度:80%;
高度:300px;
保证金:0自动;
利润上限:200px;
轮廓:2倍纯白;/*!!!不再可见*/
溢出:隐藏;/*!!!被.child忽略*/
}
.孩子{
位置:绝对位置;
z指数:-1;
宽度:100%;
高度:600px;
顶部:-200px;
左:0;
背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f000e1e87d0?ixlib=rb-1.2.1&ixid=eyjhchbawqiojeymdd9&auto=format&fit=crop&w=562&q=80“;
背景尺寸:100%自动;
背景位置:上中;
过滤器:反转(1);
}

您需要将
位置:相对
添加到父div。检查下面的提琴。希望能有帮助

正文{
位置:相对位置;
保证金:自动;
高度:1200px;
宽度:100%;
背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f000e1e87d0?ixlib=rb-1.2.1&ixid=eyjhchbawqiojeymdd9&auto=format&fit=crop&w=562&q=80“;
背景尺寸:100%自动;
背景位置:上中;
}
.家长{
宽度:80%;
高度:300px;
保证金:0自动;
利润上限:200px;
轮廓:2倍纯白;/*!!!不再可见*/
溢出:隐藏;/*!!!被.child忽略*/
/*相对于父级添加*/
位置:相对位置;
}
.孩子{
位置:绝对位置;
z指数:-1;
宽度:100%;
高度:600px;
顶部:-200px;
左:0;
背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f000e1e87d0?ixlib=rb-1.2.1&ixid=eyjhchbawqiojeymdd9&auto=format&fit=crop&w=562&q=80“;
背景尺寸:100%自动;
背景位置:上中;
过滤器:反转(1);
}

如果知道应用于父元素的不同值,则可以轻松计算背景属性并使子元素与其父元素保持相对:

正文{
位置:相对位置;
高度:1200px;
保证金:0;
背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f000e1e87d0?ixlib=rb-1.2.1&ixid=eyjhchbawqiojeymdd9&auto=format&fit=crop&w=562&q=80“;
背景尺寸:100%自动;
背景位置:顶部;
溢出:自动;
}
.家长{
宽度:80%;
高度:300px;
保证金:0自动;
利润上限:200px;
外形:2倍纯白;
位置:相对位置;
溢出:隐藏;
框大小:边框框;
}
.孩子{
位置:绝对位置;
z指数:-1;
/*与边界相同*/
顶部:-2px;
左:-2px;
右:-2px;
底部:-2px;
/**/
背景图像:url(“https://images.unsplash.com/photo-1531251445707-1f000e1e87d0?ixlib=rb-1.2.1&ixid=eyjhchbawqiojeymdd9&auto=format&fit=crop&w=562&q=80“;
背景尺寸:计算(100%/0.8)自动;/*0.8=宽度的80%*/
背景位置:顶部-200px中心;/*等于边距*/
过滤器:反转(1);
}


我无法理解这一点。。请解释得更清楚,我增加了一个解决方案需要的部分。我希望现在更清楚了。你能分享一些示例图吗?我认为代码片段已经很好地说明了这一点。谢谢你的回答。但这并不是我想要的。两个背景图像不再匹配。
.child
需要相对于
主体
而不是
.parent
定位`对于我不知道父对象在y轴上的位置的情况,有什么解决方案吗?想象它是例如第三个
div.parent
,第一个和第二个
具有不同的高度。应用于代码段:在
div.parent
之前的两个
的未知高度现在由应用于
div.parent
的已知
页边顶部
表示。非常感谢您的帮助。更新后请尽快通知我。