perche this jsfiddle, che contiene questo codice html:Posizionamento assoluto con percentuali dare risultati inaspettati
<div id="container">
<div id="item">TEST</div>
</div>
E alcuni CSS:
#container {
border: 1px solid red;
height: 100px;
width: 100px;
}
#item {
border: 1px dashed purple;
position: absolute;
left: 50%;
}
I risultati mi sorprendono. Guardando il W3 positioning props mi aspetto che il #item
abbia il suo valore di sinistra al 50% del "blocco contenitore": lo #container
. Tuttavia, sembra essere al 50% dell'intera pagina, non solo allo containing block. Ancora più sorprendente: se dico che l'overflow del contenitore rimane nascosto, il "TEST" sarà ancora lì.
Tutti i principali browser (incluso IE9) sembrano presentare lo stesso comportamento, quindi le mie aspettative sono probabilmente errate. La domanda è quindi: quale parte della specifica spiega questo comportamento, se esiste?
Questo è 'position: fixed', che utilizza sempre il contenitore della pagina intera. Il posizionamento assoluto si applica ai suoi elementi genitore, vedi la mia risposta. – animuson
Troppo vero. Sono completamente d'accordo. Grazie. – thepriebe