2012-03-29 25 views
9

Tengo un menú y un cuadro de búsqueda. Me gustaría poner el cuadro de búsqueda junto con los elementos del menú. Pero mi menú se está construyendo en un archivo diferente en un div llamado 'custommenu' que utiliza el siguiente CSS:cómo colocar un elemento encima de otro elemento?

#custommenu { 
    position:relative; 
    z-index:999; 
    font-size: 14px; 
    margin: 0 auto; 
    padding: 10px 16px; 
    width: 918px; 
    background-color: #FB0A51; 
    border-top-left-radius: 10px 10px; 
    -moz-border-top-left-radius: 10px 10px; 
    border-top-right-radius: 10px 10px; 
    -moz-border-top-right-radius: 10px 10px; 
} 

Mientras que tengo mi cuadro de búsqueda en un archivo separado que se parece a esto:

<div class="header"> 
    some code 
    <div class="quick-access"> 
     some code 
    <php echo $this->getChildHtml('topSearch') ?>; 
    </div> 
</div> 

he intentado añadir lo siguiente al archivo CSS para que el cuadro de búsqueda en la parte superior viene del menú, pero no funcionó

.header .form-search { 
    position:absolute; 
    right:29px; 
    z-index:1000; 
    top: 80px; 
    width:315px; 
    height:30px; 
    padding:1px 0 0 16px; 
} 

Aún así el cuadro de búsqueda que se oculta detrás del menú. Me gustaría tener el cuadro de búsqueda en el menú. ¿Cómo lo hago?

EDIT: Aquí está el css de los divs que contiene el cuadro de búsqueda,

.header { width:930px; margin:0 auto; padding:10px; text-align:right; position:relative; z-index:10; border-top:3px solid #3C3C42;} 
.header .quick-access { float:right; width:600px;margin-top:-125px; padding:28px 10px 0 0; } 
.header .form-search { position:relative; top: 100px;left: 300px; z-index:9999; width:315px; height:30px; padding:1px 0 0 16px; } 

Y así es como se ve en este momento, (enlaces púrpura - acceso rápido, caja blanca es la búsqueda que va detrás de la zona rosa 'custommenu'. me gustaría tener el cuadro blanco en la zona rosa. Y todo esto está dentro de 'cabecera')

z-index issue o/p

+0

¿Es un descuido o intencional que su PHP no tenga una etiqueta de cierre? – Josh

+0

Asegúrate de que el elemento padre tenga una posición relativa. También asegúrese de que el elemento padre tenga un índice z. Esto ayudará a solucionar un error en IE. –

+0

O una etiqueta de apertura no válida: ''

Respuesta

5

@all

Lo siento por responder muy tarde. Pero encontré la solución después de un poco de manipulación. Establecí el índice Z de mi encabezado en un valor más alto que mi menú personalizado. Como mi encabezado contiene el cuadro de búsqueda, debe tener un valor más alto para que el cuadro de búsqueda aparezca en el menú.

El código es el siguiente ahora

.header{ position: relative; z-index: 4000; } 
.header search { position: relative; z-index: 99999; } 
.custommenu { position: relative; z-index: 1000 ;} 

Esta perfectamente tengo mi cuadro de búsqueda en la parte superior de mi menú alineados. Gracias de nuevo por todos los que ayudaron. Lo aprecio.

0

intento con float? o display:block;
Si yo estaba usando este código, escribiría el css de esta manera:

position:relative; 
left:some value; 
top:some value; 
Z-index: -999 
+0

use float: left to parent element. y si quieres bajar esto Limpia ambos. si no le gusta float: ir con: display: inline-block;
y * pantalla: en línea;
y Zoom: 1; –

+0

float no funciona porque mueve el div de 'acceso rápido' también. Solo quiero mover el cuadro de búsqueda que está representado por '.header .form-search' – ivn

0

El cuadro de búsqueda que aparece detrás del menú suena como un problema de índice z - tal vez el contenedor del menú tiene un mayor z-index al cuadro de búsqueda, intente cambiar el índice de búsqueda z-index a 999999.

+0

Que no funciona. Adjunté la captura de pantalla y elaboré mi problema más, si eso te da alguna idea. – ivn

+0

Hola, hay una url pública donde podemos ver esto. - Puedo ver. Es el cuadro rosa que está en la parte superior del cuadro de búsqueda. Estos suelen ser bastante fáciles de arreglar una vez que se lo mira con Firebug o herramientas de desarrollador, etc. –

+0

Me temo que está en mi servidor local y, por lo tanto, no puedo proporcionarle ninguna url pública para echar un vistazo a esto. Sin embargo, si pudiera decirme qué elementos sospecha que podrían estar causando el problema, puedo buscar Firebug y escribir aquí sobre ellos. – ivn

0

z-index requiere un posicionamiento no estático; sin embargo, no está claro en los ejemplos de su código qué tipo de posicionamiento utilizan realmente los elementos que está intentando apilar con z-index.

De cualquier manera aquí hay una herramienta muy útil que puede ayudarlo a determinar qué tipo de posicionamiento debe usar para sus elementos en relación con su relación.

http://tjkdesign.com/articles/z-index/teach_yourself_how_elements_stack.asp

+0

He editado mi pregunta. Por favor échale un vistazo. – ivn

Cuestiones relacionadas