2010-05-28 21 views

Respuesta

8

position: absolute con una suficiente z-index alto:

#element { 
    position: absolute; 
    top: 50px; 
    left: 200px; 
    z-index: 10; 
} 
0

hay que hacerlo usando posicionamiento e índice Z;

1

Sí, necesita el CSS a ser algo como esto

.floating-div { 
    position: absolute; 
    left: 40px; 
    top: 40px; 
    z-index: 100000; 
} 
+0

jeje, Hivemind! –

+0

Si usa índices z realmente altos, probablemente no los esté usando correctamente. Usualmente la gente usa esto como una forma de decir 'realmente, realmente, poner esto en la cima', pero entonces, ¿qué pasa si otro elemento tiene 100001? Vea mi 'respuesta' para ejemplos de código sobre una mejor manera de administrar índices z. – Beejamin

+0

Estoy completamente de acuerdo, estaba escribiendo "grande" para ser desagradablemente claro en cuanto a la importancia de que el número sea más alto. –

4

Ésta es una continuación de la respuesta de Tatu, que va a funcionar, pero usa índices z de una manera torpe pero muy común.

El índice Z determina el orden de apilamiento de los elementos posicionados, en relación con otros elementos posicionados. El orden de apilamiento también es relativo al orden de apilamiento de los elementos principales. Por lo tanto:

Cuando se tienen dos elementos relacionados en una página:

<body> 
    <div style="position:absolute;z-index:2"></div><!-- Position 2 (top) --> 
    <div style="position:absolute;z-index:1"></div><!-- Position 1 (bottom) --> 
</body> 

Ambos están apilados de acuerdo con su padre - el body, que se encuentra en su defecto 'fondo' de la pila.

Ahora, cuando estos elementos tienen hijos con índices de z, su posición en la pila se determina en relación a sus padres posición:

<body> 
    <div style="position:absolute;z-index:2"><!-- Position 2 (top) --> 
     <div style="position:absolute;z-index:2"></div><!-- Position 2.2 --> 
     <div style="position:absolute;z-index:1"></div><!-- Position 2.1 --> 
    </div> 
    <div style="position:absolute;z-index:1"><!-- Position 1 (bottom) --> 
     <div style="position:absolute;z-index:2"></div><!-- Position 1.2 --> 
     <div style="position:absolute;z-index:1"></div><!-- Position 1.1 --> 
    </div> 
</body> 

me resulta útil pensar en los niños, ya que tiene un " point 'z-index - entonces el hijo de un elemento con z-index:1 tiene un índice z de 1.x. De esta manera, puede ver que, incluso si le doy a este div un índice z de 100000, nunca aparecerá encima de un elemento con el índice z primario de 2. 2.x siempre aparece en la parte superior de 1. x

esto es útil cuando estás haciendo 'flotante' cosas como superposiciones, notas post-it, etc. una configuración de este tipo es un buen comienzo:

<body> 
    <div id="contentContainer" style="position:relative;z-index:1"> 
     All your 'page level content goes here. You can use all the z-indexes you like. 
    </div> 
    <div id="overlayContainer" style="position:relative;z-index:2"> 
     Anything to float 'on top of the page' goes here. Nothing inside 'contentContainer' can ever appear on top of it. 
    </div> 
</body> 

Cualquier cosa que usted quiere flotar en top va a 'overlayContainer' - los índices z base mantienen separadas las dos 'capas', y puede evitar el uso de índices z altos confusos como 999999 o 100000.

+0

+ 1- hermosa y simple respuesta – beldaz

+0

¡Muchas gracias! – Beejamin

Cuestiones relacionadas