Foros del Web » Creando para Internet » CSS »

css múltiples

Estas en el tema de css múltiples en el foro de CSS en Foros del Web. Hola muy buenas, he estado informándome acerca de la forma adecuada de estructurar css para su claridad y posterior modificación. He visto que recomiendan crear ...
  #1 (permalink)  
Antiguo 12/06/2008, 17:03
 
Fecha de Ingreso: diciembre-2006
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 1
css múltiples

Hola muy buenas, he estado informándome acerca de la forma adecuada de estructurar css para su claridad y posterior modificación.

He visto que recomiendan crear un archivo raiz css por ejemplo estilos.css y luego desde este llamar a los otros archivos css mediante la regla import.

Mi archivo raiz css es el siguiente (estilos.css)

@import "maquetacion.css";
@import "formularios.css";
@import "cabecera.css";
@import "contenido.css";
@import "barralateral.css";
@import "pie.css";

Pues mi duda llega a la hora de plantear mi sitio web puesto que el cliente quiere que las páginas tengan (cabecera, contenido, barra lateral y pie), sin embargo en una página del sitio en especial no quiere que aparezca la barra lateral y que el contenido ocupe el 100 % del ancho.

¿Qué metodología se sigue en este caso?, porque se supone que el css maquetacion.css es común para todas las estructuras de las páginas.

Muchas gracias y cualquier información será muy agradecida.
  #2 (permalink)  
Antiguo 12/06/2008, 17:47
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.263
Antigüedad: 19 años, 2 meses
Puntos: 2114
Respuesta: css múltiples

Utilizaría esta técnica:

Código:
@import "maquetacion.css";
@import "otra-maquetacion.css";
@import "formularios.css";
@import "cabecera.css";
@import "contenido.css";
@import "barralateral.css";
@import "pie.css";
Y en el archivo otra-maquetación.css escribo las declaraciones que se adapten al requerimiento del documento.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #3 (permalink)  
Antiguo 12/06/2008, 17:56
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: css múltiples

Para empezar, creo que "otra-maquetación.css" debería quedar al final, además que solo debería llamarse en este caso. Ahora, nunca he usado esta técnica, ¿pero no se podría mejor sobreescribirse así?:

Código:
@import "maquetacion.css";
@import "formularios.css";
@import "cabecera.css";
@import "contenido.css";
@import "barralateral.css";
@import "pie.css";

div.barralateral{display:none;}
div.contenido{width:100%;}
(Suponiendo que así se llamen los id's determinados)
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #4 (permalink)  
Antiguo 12/06/2008, 17:57
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 6 meses
Puntos: 280
Respuesta: css múltiples

Mi opinión:

en primer lugar, intentaría hacer la maquetación de manera que si esa columna no estuviera no pasara nada (es posible, y según el caso no muy difícil).

Si por alguna razón no fuera posible, y has de usa la técnica de los import, haría la otra-maquetacion.css que te dice Daniel, y haría una segunda hoja estilos2.css, sustituyendo "maquetacion.css" por "otra-maquetacion.css", que cargaría sólo para esa página.

Para mi gusto, o el sitio es gigante y tiene 300 estilos, o yo no usaría tantas hojas y los import.

Mikel.
  #5 (permalink)  
Antiguo 12/06/2008, 18:44
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: css múltiples

concuerdo con lo que dice, y también te puedo ofrecer como alternativa la posibilidad de generar vía php un class especial.. asì.. si el div que contiene la pagina es:

<div id="pagina">

cuando detectes que se trata de la pagina en cuestion sería:

<div id="pagina" class="especial">

de esta forma puedes tener en la misma hoja de estilo "maquetacion.css" definidos los:

#pagina
#pagina.especial

sin necesidad de recurrir a otros archivos css.

Aunque es importante lo que indica Mikmoro, si el sitio no es gigante, quizás no vale la pena hacer tantas separaciones.
  #6 (permalink)  
Antiguo 13/06/2008, 07:56
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.263
Antigüedad: 19 años, 2 meses
Puntos: 2114
Respuesta: css múltiples

Cita:
div.barralateral{display:none;}
div.contenido{width:100%;}
Verdaderamente esto es lo que, en tu caso, bien podría ser otra-maquetacion.css
Yo te ofrecí un archivo alternativo, ahora bien: si deseás poner ese contenido entre etiquetas <style></style>
no te voy a decir que está mal. Pero en tu ejemplo, decididamente estás trabajando con CSS externos.
Podés también, como bien dice cristiansantana tener un class para ese div y de esa manera, lo podés declarar cómodamente dentro de barralateral.css
Lo importante es que tu código sea de simple edición, fácil mantenimiento y pueda cubrir en forma sencilla futuras implementaciones.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:48.