Centrar layers

Todos sabemos los problemas que podemos tener a la hora de situar layers en las diferentes resoluciones pero tengo entendido que puedes colocarlas a...

La FAQ Centrar layers tiene

Pertenece a la categoría:
Pregunta
Todos sabemos los problemas que podemos tener a la hora de situar layers en las diferentes resoluciones pero tengo entendido que puedes colocarlas a una distancia fija del margen izquierdo, no es así??? Si no tuviese razón que alguno me lo diga.




Entonces, la cuestión en si. La pagina que estoy haciendo llega un momento que se carga en una ventana la cual doy una medidas fijas, ¿Seria posible centrar un layer como he comentado antes?
Respuesta de Daniel Deudero
Si lo puedes hacer mediante CSS. Tienes dos formas, bueno en realidad tres:




1. Incluyendo un archivo externo CSS.


2. Incluyendo el código en el HEAD de la página.


3. Incluyendo el código directamente dentro del tag DIV.




Te explicaré la 2 y la 3 porque si solo quieres hacerlo para ese layer pues
te aconsejaría hacerlo con la 3.




:::: ejemplo de un layer que queremos colocarlo a 100px de la parte izquierda
de la pantalla :::::




Forma 2:





<HTML>


<HEAD>


<TITLE>Posicion de layer</TITLE>


<style type="text/css">


#milayer{margin-left: 100px}


</style>


</HEAD>


<BODY>


<div id="milayer">




AQUI PONDRIAMOS LO QUE QUEREMOS METER EN EL LAYER. COMO VES EN EL ID HE
PUESTO EL MISMO NOMBRE QUE HE PUESTO EN EL HEAD PARA PONER LAS PROPIEDADES
DEL LAYER. ESTO LO PODRIAMOS HACER EN TANTAS CAPAS COMO QUERAMOS, ES DECIR
PODRIA HABER DECLARADO EN EL HEAD OTRA ID LLAMADA MILAYER2 Y APLICARLE OTRAS
PROPIEDADES Y TENDRIAMOS DOS LAYERS CON PROPIEDADES DISTINTAS.




</div>


</BODY>


</HTML>







---------------------------------------------------





Forma 3:





<HTML>


<HEAD>


<TITLE>Posicion de layer</TITLE>


</HEAD>


<BODY>


<div id="milayer" style="margin-left: 100px">




AQUI PONDRIAMOS LO QUE QUEREMOS METER EN EL LAYER. COMO VES EN EL ID HE
PUESTO EL MISMO NOMBRE QUE HE PUESTO EN EL HEAD PARA PONER LAS PROPIEDADES
DEL LAYER. ESTO LO PODRIAMOS HACER EN TANTAS CAPAS COMO QUERAMOS, ES DECIR
PODRIA HABER DECLARADO EN EL HEAD OTRA ID LLAMADA MILAYER2 Y APLICARLE OTRAS
PROPIEDADES Y TENDRIAMOS DOS LAYERS CON PROPIEDADES DISTINTAS.




</div>


</BODY>


</HTML>





------------------------------------------------





Espero haberte sido de ayuda, un saludo.

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Mario Sanchez

16/3/2006
Creo que con esta respuesta no le resolvemos el problema; Lo que yo entiendo es que nuestro amigo quiere centrar un layer y efectivamente se puede hacer de la forma en que dece arriba pero creo que no quedaria centrada en todas las resoluciones, si se decea centrar horizontalmente recomendaria utilizar el atributo "align='center'" de la misma forma en que se usa en el ejemplo anterior, esto podria ser desde css directo o en el head tal como lo exponian anteriormente, y en el caso de que se desee alinear verticalmente, hasta el momento no he encontrado otra forma que incluyendolo dentro de una tabla y dejando el <td> en el que se encuentra el layer el atributo "valign='middle'" de la siguiente manera <td valign='middle'> y esta seria otra forma tambien de centrarlo horizontalmente poniendo el layer dentro de la tabla y centrarlo a gustro pormedio de los parametros del td en el que se encuentre.

Covi

07/4/2006
No podemos usar un "align: center;" para un DIV desde CSS, de otra manera usado en la estructura HTML tendríamos que usar una declaración de HTML estricto y aún así su uso se considera desfasado, no semántico... basurilla y tal.

Un "margin: auto;" tampoco resuelve el asunto en este caso y casi la mejor opción sería usar algún tipo de lenguaje que calculará la resolución y aplicar los márgenes oportunos a la caja según dicha resolución.

Otra opción, la más típica suele consistir en una estructura rígida, por ejemplo un contendor de ancho fijo dentro del cual podemos aplicar los márgenes exactos para centrar el contenido.

Vamos... es lo usual y la mejor opción creo, porque según mi corto entendimiento, hasta la fecha no hay regla CSS ( que es lo que creo debemos usar para estos menesteres (presentación) ) que nos permita alinear cuadros centralmente.
En cualquier otro caso, debemos recurrir a "hacks" para navegadores o generación dinámica :S

Saludos.

Tomas

05/1/2008
Yo te recomiendo que en vez de margin-left
uses... definir el ancho y margen automatico para centrar horizontalmente ... por ejemplo

width: 500px;
margin: 0 auto;

Eso hara que en cualqier resolucion esa div este centrada (centrada la div y no el texto
FAQ relacionadas

Para ver más FAQ relacionadas accede a las categorías:

Volver al árbol de categoríasVolver al árbol de categorías