Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Taller de introducción HTML5+CSS3 (3)

Taller de introducción HTML5+CSS3 (3)

Tercera parte del taller de introducción a HTML5 y CSS3 impartido en la Facultad de Ciencias de la Computación de la BUAP

Avatar for Comunidad PHP Puebla

Comunidad PHP Puebla

July 11, 2013

More Decks by Comunidad PHP Puebla

Other Decks in Programming

Transcript

  1. Julio 2013 Comunidad PHP Puebla 2 Comunidad PHP Puebla •

    Cuentas de Comunidad PHP Puebla • http://twitter.com/ComPHPPuebla • http://facebook.com/ComPeHPPuebla • http://github.com/ComPHPPuebla • https://packagist.org/users/ComPHPPuebla • https://speakerdeck.com/comphppuebla • Sitio Web • http://www.comunidadphppuebla.com
  2. Julio 2013 Comunidad PHP Puebla 3 Las 3 capas de

    un documento HTML CSS JavaScript Estructura Presentación Comportamiento
  3. Julio 2013 Comunidad PHP Puebla 4 Partes de una hoja

    de estilo • Una hoja de estilos no es más que una lista de reglas, las cuales están formadas por un selector y una o varias declaraciones: h1 { color:blue; }
  4. Julio 2013 Comunidad PHP Puebla 5 Declaraciones • Una declaración

    es un par propiedad/valor que definen la apariencia visual de un elemento HTML. • Ejemplos de propiedades son: el color de fondo, el tamaño de la fuente, etc. • Los valores son las unidades o valores válidos para sus respectivas propiedades, como 400 pixeles (400px) o el color blanco (white)
  5. Julio 2013 Comunidad PHP Puebla 6 Declaraciones • El formato

    de una declaración consiste del nombre de la propiedad seguido de dos puntos, el valor de la propiedad y al final un punto y coma: • Ejemplos: background-color: blue; width: 400px; font-family: Arial;
  6. Julio 2013 Comunidad PHP Puebla 7 Selectores • Definen que

    elementos HTML serán afectados por las declaraciones • Existen varios tipos de selectores • Elementos • Clases • IDs • Descendientes • Hijos • Adyacentes (hermanos o siblings), etc.
  7. Julio 2013 Comunidad PHP Puebla 8 Selectores • Los selectores

    de elementos son los más simples, también se les conoce como tag selectors. h1 { color: blue; } h2 { color: green; }
  8. Julio 2013 Comunidad PHP Puebla 9 Selectores • Los selectores

    de clase afectan a todos los elementos HTML que tengan la clase especificada <h1 class="warning">Be careful!</h1> .warning { color: red; font-weight: bold; }
  9. Julio 2013 Comunidad PHP Puebla 10 Selectores • Los selectores

    de ID afectan al elemento HTML con el ID especificado y contienen al inicio un # <div id="main-content"> <p>This is the main content of the page.</p> </div> #main-content { width: 400px; }
  10. Julio 2013 Comunidad PHP Puebla 11 Selectores • Los selectores

    de descendientes, también llamados, selectores contextuales, afectan a elementos que son están contenidos dentro de otros elementos (sus descendientes) ul li { color: blue; } <ul> <li>Primer elemento</li> <li>Segundo elemento <ol> <li>Elemento de sub-lista</li> </ol> </li> </ul>
  11. Julio 2013 Comunidad PHP Puebla 12 Selectores • Selectores hijos,

    son similares a los selectores de descendientes, pero solo afectan a los descendientes directos. ul > li { color: blue } <ul> <li>Primer elemento</li> <li>Segundo elemento <ol> <li>Elemento de sub-lista</li> </ol> </li> </ul>
  12. Julio 2013 Comunidad PHP Puebla 13 Selectores • El selector

    de elementos adyacentes (hermanos o siblings) afecta al elemento que sigue inmediatamente y que tiene el mismo padre que un elemento dado <body> <h1>This is a header</h1> <p>This is a paragraph.</p> <p>This is another paragraph.</p> </body> h1 + p { margin-top: 0; }
  13. Julio 2013 Comunidad PHP Puebla 14 Selectores • Los selectores

    de atributo, se distinguen por usar corchetes [], permiten seleccionar elementos a través de sus atributos. • Puedes seleccionar elementos si el elemento: • Tiene el atributo • Tiene el valor exacto del atributo • Tiene un valor similar
  14. Julio 2013 Comunidad PHP Puebla 15 Selectores a[href] { color:

    red; } a[href][title] { color: red; } a[title="Our homepage"] { color: red; } p[class~="help"] { color: red; } img[src|="vacation"] { float: left; }
  15. Julio 2013 Comunidad PHP Puebla 16 Selectores • Los selectores

    por pseudoclases se distinguen por iniciar con : • Las pseudoclases más comunes para enlaces son: – link, visited, hover, active (LoVe/HAte) • Otra pseudoclase común es focus, utilizada principalmente en formularios. • a:hover { color: red; } •
  16. Julio 2013 Comunidad PHP Puebla 17 Selectores • Los pseudo

    elementos también se distinguen por iniciar con : • Ejemplos de pseudo elementos son la primera linea de un párrafo o la primera línea de un texto p:first-line { font-weight: bold; } h1:first-letter { font-size: 2em; }
  17. Julio 2013 Comunidad PHP Puebla 18 Selectores • Todos estos

    selectores se pueden combinar #primary-content div.story h1 + ul > li a[href|="http://ourcompany.com"] em { font-weight: bold; }
  18. Julio 2013 Comunidad PHP Puebla 19 Selectores • También es

    posible agrupar selectores h1 { color: orange } h2 { color: orange } h3 { color: orange } Es equivalente a h1, h2, h3 { color: orange; } • •
  19. Julio 2013 Comunidad PHP Puebla 20 Especifidad y cascading •

    Oficialmente existen dos tipos de selectores: simples y combinados (o contextuales) • Simples • body {...} • h2.first {...} – Combinados • body p {...} • h2.first > span {...}
  20. Julio 2013 Comunidad PHP Puebla 21 Selector Universal • El

    selector universal * selecciona todos los elementos de un documento HTML * { margin:0; padding:0; } div#header * {...} div#header * p {...}
  21. Julio 2013 Comunidad PHP Puebla 22 Cascading • La especificidad

    define que reglas tienen más importancia, permite al navegador distinguir si p#description es más importante que p.description
  22. Julio 2013 Comunidad PHP Puebla 23 Cascading 1. Encuentra los

    elementos que coinciden con el selector y aplica los estilos que indiquen las reglas 2. El navegador aplicará primero su hoja de estilo default, luego la hoja de estilo definida por el usuario (en el navegador) y por último aplica las reglas de la hoja de estilos del autor (en la página Web), aplicando las reglas !important al final y por último aplicando las reglas ! important de la hoja de estilos del usuario 3. Reglas con mayor especifidad sobrescriben a los selectores menos específicos 4. Si 2 o más selectores coinciden con el mismo elemento y tienen la misma especificidad aplica la última regla en la hoja de estilo, las reglas que se importan desde otra hoja de estilo se colocan primero
  23. Julio 2013 Comunidad PHP Puebla 24 Cascading score • La

    cuenta para calcular la especificidad depende de la importancia de cada selector, en el siguiente orden, de menos a más importante 1)Elementos (incluyendo pseudoelementos y atributos) 2)Clases (incluyendo pseudoclases) 3)IDs 4)Estilos en línea
  24. Julio 2013 Comunidad PHP Puebla 25 Cascading score Selector Estilos

    en línea # de selectores ID # de selectores de clase # de selectores de elemento #content 0 1 0 0 #sidebar 0 1 0 0 body#homepage #content 0 2 0 1 body#homepage #sidebar 0 2 0 1 body#contact #content 0 2 0 1 body#contact #sidebar 0 2 0 1