Я пытаюсь создать элемент с relative
с overflow:hidden
, который содержит несколько элементов fixed
-позиции. Цель состоит в том, чтобы дочерние элементы fixed
стали скрытыми по мере перемещения родительского элемента, например, если они были частью background-image
с attachment:fixed
на родительском элементе.Относительный родитель с переполнением: скрытый, фиксированный ребенок не подчиняется
По всем учетным записям в StackOverflow и в других местах в Интернете это невозможно, поскольку фиксированный элемент относится только к окну браузера и игнорирует его родительский элемент. Однако, по какой причине она на самом деле работает, как предполагалось в Chrome только: http://jsfiddle.net/x6avvhuf/
Вот что скрипка выглядит, его просмотра в 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;
}
Какое альтернативное решение для этого? Я прочел, что элемент absolute
ведет себя как элемент fixed
с CSS, но до сих пор мне не удалось выполнить эту работу. Заранее благодарим за любую помощь или совет! :)
Я ищу вашу скрипку. С Chrome или Firefox у меня такой же неправильный результат. Вы уверены, что он работает в Chrome? – Bellu
Да, и он работает над фактическим сайтом, который я строю. Однако только в Chrome. – fishang
Остается видимым. – Bellu