Re: [Ovillo] Centrar contenedor de elementos absolutos y ancho dinámico

2009-03-29 Por tema Daniel Navarro
Hola, como te ha comentado StripTM, cuando no tengas B, asigna a body otra
clase, de forma que puedas diferenciar el diseño en las css.

Te he dejado un ejemplo en
http://webpelon.es/ovillo/2009-mes03-30-Conmuta_una_o_dos_columnas/index.html

Esencialmente, contiene el código siguiente:


HTML página CON B (DOS columnas)
  
  
  
  
  


HTML página SIN B (UNA columnas)
  
  
  
  
   

CSS
#content {
  margin: 0 auto;  /* centra el div contenedor (necesita width) */
  width: 35em;
  overflow: hidden; /* engloba a floats internos */
}

#A {
  float: left;
  width: 14em;  /* mismo ancho que #C */
}

#B {
  float: right;
  width: 20em; /* ancho #A + ancho #B menor que ancho contenedor */
}

#C {
  width: 14em;  /* mismo ancho que #A */
}

/* Cuando #B no existe entonces #A y #C se ajustan al contenedor */
.una_columna #A, .una_columna #C {
  width: auto;
}


Saludos


El 29 de marzo de 2009 20:19, Tae Sandoval Murgan escribió:

> Saludos a todos:
>
> He diseñado el wireframe de un sitio de la siguiente manera:
>
> --
> |   ||
> | A||
> |---| B |
> |   ||
> | C||
> |   ||
> |   ||
> --
>
> El contenido del elemento B tiene más importancia que el de C, por
> ello y pensando en que las páginas podrían llegar a mostrarse sin los
> archivos CSS, he escrito el HTML de la siguiente manera:
>
> 
>
>
>
>
>
> 
>
> Ahora, la idea es que ese esquema permanezca centrado independiente de
> la resolución de la pantalla, pero el asunto se complica debido a que
> hay páginas en las que B no aparece, y además, en las que lo hace, no
> siempre tiene el mismo ancho. Resolví el asunto de forma parcial
> utilizando posicionamiento:
>
> #content {
>margin-left: auto;
>margin-right: auto;
>position: relative;
>width: 35em; }
> #A {
>width: 35em; }
> #B {
>left: 35em;
>margin: 0;
>position: absolute;
>top: 0; }
> #C {
>width: 35em;
>position: relative;
>top: 12em; }
>
> Pero, al estar B posicionado de forma absoluta, se ubica con respecto
> a content, ¡fuera de él!. Sí content tiene una propiedad min-width en
> lugar de width, contiene a B, pero usa el ancho total del lienzo y
> todo se va a la izquierda en lugar de ocupar el centro. Y he ahí la
> cuestión.
>
> He pensado en usar float, pero ello condicionaría la ubicación de los
> elementos en el HTML, así que la opción que me queda es usar un CSS
> extra especificando el ancho de content según el propio de B y si
> existe o no y de sus dimensiones, pero si pudiera ahorrarmelo con un
> par de instrucciones
> en CSS, mejor que mejor :)
>
> ¿Alguna idea? Gracias de antemano.
> ___
> Lista de distribución Ovillo
> Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
> Puedes modificar tus datos o desuscribirte en la siguiente dirección:
> http://lists.ovillo.org/mailman/listinfo/ovillo
>
___
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo


Re: [Ovillo] Centrar contenedor de elementos absolutos y ancho dinámico

2009-03-29 Por tema stripTM
Tae Sandoval Murgan escribió:
> Saludos a todos:
>
> He diseñado el wireframe de un sitio de la siguiente manera:
>
> --
> |   ||
> | A||
> |---| B |
> |   ||
> | C||
> |   ||
> |   ||
> --
>
> El contenido del elemento B tiene más importancia que el de C, por
> ello y pensando en que las páginas podrían llegar a mostrarse sin los
> archivos CSS, he escrito el HTML de la siguiente manera:
>
> 
>
>
>
>
>
> 
>
> Ahora, la idea es que ese esquema permanezca centrado independiente de
> la resolución de la pantalla, pero el asunto se complica debido a que
> hay páginas en las que B no aparece, y además, en las que lo hace, no
> siempre tiene el mismo ancho. Resolví el asunto de forma parcial
>
>   

> He pensado en usar float, pero ello condicionaría la ubicación de los
> elementos en el HTML, así que la opción que me queda es usar un CSS
> extra especificando el ancho de content según el propio de B y si
> existe o no y de sus dimensiones, pero si pudiera ahorrarmelo con un
> par de instrucciones
> en CSS, mejor que mejor :)
>
> ¿Alguna idea? Gracias de antemano.
>   
Yo no me comería mucho la cabeza y tendría un par de modelos de página, 
se puede simplificar haciendo que sólamente uno de los modelos incluya 
los cambios, pero a modo didáctico sería algo así:


   
   
   
   



   
   
   
   




-- 
Saludos -=stripTM=-

___
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo