gpt4 book ai didi

html - 溢出 : hidden, 固定子不服从的相对父

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:29 24 4
gpt4 key购买 nike

我正在尝试使用 overflow:hidden 创建一个 relative 定位元素,其中包含一些 fixed 定位元素。目标是让 fixed 子元素随着父元素的移动而隐藏起来,有点像它们是带有 attachment:fixed 的 background-image 的一部分 在父元素上。

根据 StackOverflow 和网络其他地方的所有帐户,这是不可能的,因为固定元素只考虑浏览器窗口而忽略其父元素。但是,无论出于何种原因,它实际上仅在 Chrome 中按预期工作:http://jsfiddle.net/x6avvhuf/

这是 fiddle 的样子,在 Chrome 和 IE/Firefox 中查看它以了解不同之处:

HTML

<body>
<div id = "headwrapper">
I am the relative parent element
<div class = "fixedchild">
I am a fixed child element
</div>
</div>
<div id = "content">
This is the main content portion of the page<br>
<!-- Repeat until the page scrolls -->
This is the main content portion of the page<br>
</div>

CSS

body {
background-color: yellow;
}

#headwrapper {
position: relative;
height: 300px;
width: 100%;
overflow: hidden;
z-index: -1;
background-color: black;
color: white;
text-align: center;
}

.fixedchild {
position: fixed;
width: 75%;
height: 40px;
z-index: 48;
top: 22.5%;
left: 50%;
margin: 0 0 0 -37.5%;
text-align: center;
color: red;
background-color: pink;
}

有什么替代解决方案?我读到过可以使用 CSS 使 absolute 元素表现得像 fixed 元素,但到目前为止我无法做到这一点。在此先感谢您的帮助或建议! :)

最佳答案

更新

有时最好的解决方案是最简单的。根据您发布的代码,您只需在 #content 上设置一个 background-color(例如:yellow 在这种情况下匹配body) 因为你的固定元素有 z-index: -1 并且无论如何都会坐在它后面:

#content{
background: yellow;
width: 100%;
}

CSS EXAMPLE 1

您可以将 #content 设置为 position:relative,这样您就可以使用 z-index 来排序这个和固定的 div(这可能更好,使用 z-index: -1 是一种 hack):

CSS

.fixedchild {
position: fixed;
width: 75%;
height: 40px;
z-index: 1; //set to 1
top: 22.5%;
left: 50%;
margin: 0 0 0 -37.5%;
text-align: center;
color: red;
background-color: pink;
}

#content{
background: yellow;
width: 100%;
position: relative; //add
z-index: 2; //set higher
}

CSS EXAMPLE 2

(上一个答案):

免责声明:这不是 CSS 解决方案。

可能有一个 CSS 解决方案。我没有碰巧知道一个,但我知道这可以用 Jquery 很容易地完成

JS

$(window).scroll(function(){
var scrolled = $(this).scrollTop()+100; //offset starting position which I hard coded to top: 100px - you can change as needed
$(".fixedchild").css({"top": scrolled+"px"});
});

CSS

.fixedchild {
position: absolute;
width: 75%;
height: 40px;
z-index: 48;
top: 100px;
left: 50%;
margin: 0 0 0 -37.5%;
text-align: center;
color: red;
background-color: pink;
}

JS EXAMPLE

关于html - 溢出 : hidden, 固定子不服从的相对父,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com