Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: rjfcont en 10 Diciembre 2016, 22:49 pm



Título: Dudas con respecto a la estructura de una Hoja de Estilo (CSS)
Publicado por: rjfcont en 10 Diciembre 2016, 22:49 pm
Hola Chic@s, pues nada eso... tengo serias dudas o inquietudes respecto a como inicial o dar estructura a una hoja de estilo.

Resulta que soy muy metódico. Y bueno en cuanto al código HTML no hay problema porque existe una estructura, una semántica, un orden de cómo hacer las cosas. Más sin embargo a la hora de querer dar estilos no sé por dónde empezar.

Para no darle más vueltas al asunto lo que quiero es que comenten como suelen llenar o realizar sus hojas de estilos. ¿Hay algunas cosas que deba declarar en primera estancia? Para ir tomando consejos o referencias. Realmente lo apreciaría y de antemano gracias.


Título: Re: Dudas con respecto a la estructura de una Hoja de Estilo (CSS)
Publicado por: NaTxosS en 11 Diciembre 2016, 07:26 am
Creo que a la hora de hacer CSS no hay problema de orden ni tabulaciones, todo lo coge CSS, pero por amor propio y por sentido común algo habrá que hacer para no hacer ilegible nuestro código.
Yo suelo empezar con los elementos padres e ir tabulando los supuestos hijos debajo del padre, cuando sigo con otro elemento del mismo nivel del padre le aplico la misma tabulación que a esté. No se si me explico.
Código:
body {
   estilo..
}
divContenedor {
   estilo..
}
    divContenedor elementoHijo1{
           estilo..
    }
    divContenedor elementoHijo2{
           estilo..
    }
         divContenedor elementoHijo2 elementoHijo2_1{
                estilo..
         }
divFooter {
   estilo..
}

Algo así


Título: Re: Dudas con respecto a la estructura de una Hoja de Estilo (CSS)
Publicado por: [u]nsigned en 13 Diciembre 2016, 03:42 am
La verdad que no hay reglas o patrones (al menos no que yo sepa). Lo que si trata de optimizar tu css en función de tus necesidades, y evitar repetir código.

Por ejemplo si tenés definidas 3 reglas para 3 elementos DIV y en cada una de ellas terminan teniendo las mimas reglas podrias crear una clase nueva y delarar esas reglas una sola vez. Te pongo un ejemplo basico:

Archivo CSS 1:

Código
  1. #midiv1{
  2.   color:red;
  3.   font-size:13pt;
  4.   border:1px solid red;
  5.   background-color:#ffc
  6. }
  7.  
  8. #midiv2{
  9.   color:red;
  10.   font-size:14pt;
  11.   border:1px solid red;
  12.   margin-top:2px;
  13. }
  14.  
  15. #midiv3{
  16.   color:red;
  17.   font-size:13pt;
  18.   border:1px solid red;
  19. }

Como ves en todas tenemos repetida la regla del color y el borde, entonces podemos mejorar nuestro CSS con algo así:

Código
  1. #midiv1{
  2.   font-size:13pt;
  3.   background-color:#ffc
  4. }
  5.  
  6. #midiv2{
  7.   font-size:14pt;
  8.   margin-top:2px;
  9. }
  10.  
  11. #midiv3{
  12.   font-size:13pt;
  13. }
  14.  
  15. .rojito {
  16.    color:red;
  17.    border:1px solid red;
  18. }
  19.  

La idea es obtener un código mas compacto y facil de mantener.

Saludos


Título: Re: Dudas con respecto a la estructura de una Hoja de Estilo (CSS)
Publicado por: rjfcont en 15 Diciembre 2016, 05:00 am
Gracias por sus respuestas, son de gran ayuda!

Ahora mi inquietud es otra. ¿Cómo ordenan sus hojas de estilo?

Me refiero a: ¿Suelen declarar las id y class al comienzo o al final? ¿Van llenando la hoja acorde a la estructura del HTML? ¿Es decir primero declaran todos los estilos de Body, luego Header, Nav, etc?


Título: Re: Dudas con respecto a la estructura de una Hoja de Estilo (CSS)
Publicado por: #!drvy en 15 Diciembre 2016, 05:17 am
Normalmente se hace acorde a la estructura de la pagina. Si un elemento no se utiliza, no se decora de forma que te ahorras lineas inútiles. Vas desde la cabecera hasta el footer de la pagina acorde a los elementos utilizados.

Saludos


Título: Re: Dudas con respecto a la estructura de una Hoja de Estilo (CSS)
Publicado por: flacc en 15 Diciembre 2016, 14:03 pm
podrías probar con less o con sass, obtimizan mucho a la hora de trabajar con css.