Ho una situazione in cui, in normali circostanze CSS, un div fisso sarebbe posizionato esattamente dove è specificato ( top:0px
, left:0px
).
Questo non sembra essere rispettato se ho un genitore che ha una trasformazione translate3d. Non vedo qualcosa? Ho provato altre trasformazioni di webkit come lo stile e le opzioni di origine ma non ho avuto fortuna.
Ho allegato un JSFiddle con un esempio in cui mi sarei aspettato che la casella gialla fosse nell'angolo superiore della pagina anziché all'interno dell'elemento contenitore.
Di seguito puoi trovare una versione semplificata del violino:
#outer {
position:relative;
-webkit-transform:translate3d(0px, 20px , 0px);
height: 300px;
border: 1px solid #5511FF;
padding: 10px;
background: rgba(100,180,250, .8);
width: 80%;
}
#middle{
position:relative;
border: 1px dotted #445511;
height: 300px;
padding: 5px;
background: rgba(250,10,255, .6);
}
#inner {
position: fixed;
top: 0px;
box-shadow: 3px 3px 3px #333;
height: 20px;
left: 0px;
background: rgba(200,180,80, .8);
margin: 5px;
padding: 5px;
}
<div id="container">
Blue: Outer, <br>
Purple: Middle<br>
Yellow: Inner<br>
<div id="outer">
<div id="middle">
<div id="inner">
Inner block
</div>
</div>
</div>
</div>
Come posso fare in modo che translate3d funzioni con i bambini posizionati in modo fisso?