Problema con layers/capas, como hacer esto?

SikorZ

Buenasss! vereis, estoy haciendo una web para un servidor de juego, y me he encontrado con un problema. En una tabla tengo una imagen y dentro de ella quiero poner cosas en sitios concretos y con tamaños concretos asi que recurri al uso de layers/capas pero el problema es que por ejemplo pongo menus desplegables (input selects) y su localizacion parece ser relativa, por lo tanto a cada persona le sale en un sitio, y salen muy descentrados.

La idea es poner un formulario con un boton de buscar que actualice la busqueda con AJAX en otra parte de la imagen. La imagen en concreto es la de Stall Network en: http://melkorz.byethost13.com/checklist_fire.php

Como veis seguramente os salgan los input selects a tomar por culo, donde quieren vaya pero en mi navegador los veo de la siguiente manera:

Alguna idea? es la segunda vez que uso layers y no se bien como hacerlo... Gracias de antemano^!

NeB1

Si vas a posicionarlos de forma absoluta, crea un div de tamaño fijo y centrado en pantalla que contenga el resto de elementos, por ejemplo tu web mide 675px de ancho, creas un div así:

<div id="wrapper">

</div>

y el css de ese div que sea:

#wrapper{
width: 675px;
margin:0 auto;
position:relative;
}

Así, lo que se consigue es que todos los elementos absolutos, cogen de referencia la esquina superior izquierda del div 'wrapper'.

Esto es así porque por definición un elemento en position:absolute, coge su punto de referencia en relación al primer padre en position:absolute; y si este no existe te lo coge de la ventana del navegador. De ahí derivan muchas diferencias entre navegadores ya que unos por defecto aplican el position:relative a los elementos y otros position:static.

Lo de margin:0 auto; y un width fijo, es para que no importe la resolución de la persona que está mirando tu web. Podrias poner el position:relative al body, pero como este tiene un tamaño variable dependiendo de quien mire tu web, no será lo mismo un left:200px; para alguien que el body le mide 1000px de ancho, que para otra persona que le mida 800px.

Creo que te habré liado un poco xD

EDIT---

Se me olvidaba, como todo purista css, si puedes evitar posicionar con positions:absolutes, mejor xD, simplemente te he dado la solución más rápida según lo tienes montado.

SikorZ

#2 Muchas gracias, ya pense en el CSS pero es que simplemente LO ODIO no me gusta NADA el CSS xDDd... pues nada tendre que ir probando con numeritos en vez de con layers a mano que es como mas centrado queda. Pero aun asi el codigo que me has dado le tendria que añador el height tambien no?

De todas formas alguien sabe como poner los selects/options suficientemente grandes apra ocupar el espacio en negro entero?

NeB1

<select class='SelectLargo'>

y en el CSS

.SelectLargo{width:200px;height:30px;}

Sé que soy puñetero diciendote todas las soluciones en css :P

SikorZ

#4 Y solo con eso ya pongo exactamente donde quiero que esten las cosas verdad?
Y para ver los px voy probando y actualizando no? pero eso no es relativo? no deberia ser con %s?

Y como agrando el select/option para que ocupe todo el espacio que quiero? xDD

NeB1

la respuesta en #4 es para agrandar el select xDDDDDD

width significa ancho y height significa alto. Puedes ponerlo con la medida que quieras, px, em's, %, etc.

SikorZ

#6 xDDD vale vale perdon es que estoy todavia un poco ido, ni lo he pensado te lo juro xDDDD, pues muchas gracias ya vere que hago xDD...

Y gracias, el CSS es una herramienta bastante util pero no se porque razon no lo soporto... xDDD...

Usuarios habituales

  • SikorZ
  • NeB1