--- language: css filename: learncss-es.css contributors: - ["Mohammad Valipour", "https://github.com/mvalipour"] - ["Marco Scannadinari", "https://github.com/marcoms"] translators: - ["Daniel Zendejas","https://github.com/DanielZendejas"] lang: es-es --- Tutorial de CSS en español En los primeros días de la web no había elementos visuales, todo era texto plano. Pero después, con el desarrollo de los navegadores, las páginas con contenido visual empezaron a ser más comunes. CSS es el lenguaje estándar que existe para separar el contenido (HTML) y el aspecto visual de las páginas web. Lo que CSS hace es proveer con una sintaxis que te permite apuntar a distintos elementos HTML y asignarles diferentes propiedades visuales. CSS, como cualquier otro lenguaje, tiene múltiples versiones. Aquí nos enfocamos en CSS 2.0. No es la versión más reciente pero sí la más soportada y compatible. **NOTA:** Como los resultados de CSS son efectos visuales, para aprenderlo, necesitarás probar todo tipo de cosas en ambientes como [dabblet](http://dabblet.com/). Este artículo se enfoca, principalmente, en la sintaxis y consejos generales. ```css /* ¡Los comentarios aparecen dentro de diagonal-asterisco, justo como esta línea! */ /* #################### ## SELECTORES ####################*/ /* Generalmente, la sentencia principal en CSS es muy simple. */ selector { propiedad: valor; /* más propiedades separados por punto y coma...*/ } /* El selector es usado para apuntar a (seleccionar) un elemento en la página. ¡Puedes apuntar a todos los elementos en la página con el asterisco! */ * { color:red; } /* Dado un elemento como este en la página:
*/ /* puedes seleccionar el``` El orden respetado es el siguiente: Recuerda, la preferencia es por cada **property**, no para el bloque completo. * `E` tiene la preferencia más elevada gracias a la palabra `!important`. Es recomendado evitar esto a menos que sea estrictamente necesario incluirlo. * `F` le sigue, porque es estilo incrustado directamente en el HTML. * `A` le sigue, porque es más específico que cualquier otra opción. más específico = más especificadores. Aquí hay tres especificadores: elemento `p` + nombre de la clase `clase1` + un atributo `attr='valor'` * `C` le sigue. Aunque tiene el mismo número de especificadores como `B` pero aparece después. * Luego va `B` * y al final `D`. ## Compatibilidad La mayoría de las funcionalidades de CSS2 (y gradualmente de CSS3) son compatibles en todos los navegadores y dispositivos. Pero siempre es vital tener en mente la compatibilidad y disponibilidad del CSS que uses con respecto a los navegadores y dispositivos para los que desarrolles. [QuirksMode CSS](http://www.quirksmode.org/css/) es una excelente referencia para esto. ## Recursos * Para ejecutar un test de compatibilidad, revisa [CanIUse](http://caniuse.com). * CSS Playground [Dabblet](http://dabblet.com/). * [Mozilla Developer Network's CSS documentation](https://developer.mozilla.org/en-US/docs/Web/CSS). * [Codrops' CSS Reference](http://tympanus.net/codrops/css_reference/). ## Otras lecturas * [Understanding Style Precedence in CSS: Specificity, Inheritance, and the Cascade](http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/). * [Selecting elements using attributes](https://css-tricks.com/almanac/selectors/a/attribute/). * [QuirksMode CSS](http://www.quirksmode.org/css/). * [Z-Index - The stacking context](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context) * [SASS](http://sass-lang.com/) y [LESS](http://lesscss.org/) para preprocesamiento CSS. * [CSS-Tricks](https://css-tricks.com).