SlideShare una empresa de Scribd logo
1 de 20
Hacks y Filtros
Los diferentes navegadores y las
diferentes versiones de cada navegador
incluyen defectos y carencias en su
implementación del estándar CSS 2.1. Algunos
navegadores      no     soportan      ciertas
propiedades, otros las soportan a medias y
otros ignoran el estándar e incorporan su
propio comportamiento.
Para facilitar la creación de hojas de
estilos homogéneas, se han introducido los
filtros y los hacks.
       Los filtros permiten definir u ocultar
ciertas reglas CSS para algunos navegadores
específicos, aprovechando los errores de cada
uno (sobre todo los antiguos) al momento de
procesar hojas de estilos
Es un mecanismo propietario del
navegador Internet Explorer. Los comentarios
condicionales permiten incluir hojas de estilos
o definir reglas CSS específicamente para una
versión de Internet Explorer.
El siguiente ejemplo carga la hoja de estilos
basico_ie.css solamente para los navegadores
de tipo Internet Explorer:

     <!--[if IE]>
            <style type="text/css">
                  @import ("basico_ie.css");
            </style>
     <![endif]-->
<!--[if gt IE 7]>
       Mayor que Internet Explorer 7
<![endif]-->
<!--[if gte IE 7]>
       Mayor o igual que Internet Explorer 7
<![endif]-->
<!--[if lt IE 8]>
       Menor que Internet Explorer 8
<![endif]-->
<!--[if lte IE 7]>
       Igual o menor que Internet Explorer 7
<![endif]-->
/* IE6 y superiores */

      * html #uno { color: red }

/* IE7 */

      *:first-child+html #dos { color: red }

/* IE7, FF, Safari, Opera */

      html>body #tres { color: red }
/* IE8, FF, Safari, Opera (Everything but IE 6,7) */


        html>/**/body #cuatro { color: red }

/* Opera 9.27 y superiores, Safari 2 */
        html:first-child #cinco { color: red }

/* Safari 2-3 */


      html[xmlns*=""] body:lastchild #seis { col
or: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */

        body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */

        body:first-of-type #ocho { color: red }
/* saf3+, chrome1+ */


        @media screen and (-webkit-min-device-
        pixel-ratio:0) {
              #nueve { color: red }
/* IE6 */


        #diez { _color: blue }

/* IE6, IE7 */


        #once { *color: blue; /* or #color: blue
*/ }

/* Everything but IE6 */


        #doce { color/**/: blue }
/* IE6, IE7, IE8 */


        #trece { color: blue9; }

/* IE7, IE8 */


        #catorce { color/***/: blue9; }

/* IE6, IE7 -- acts as an !important */


        #quince { color: blue !ie; }
El uso que se le da a este Hacks para la
mayoría de los navegadores, es que respeten la
importancia que tiene la declaración que
contenga esta etiqueta, por ejemplo :
     p{
            background: green !important; /*
Navegadores superiores a IE 6 respetarán la importancia
inmediatamente */
               background: red; /* IE 6 y anteriores
aplicará este estilo aunque esté marcado la anterior como
importante */
}
Esta declaración, no es soportada por
versiones anteriores de IE7. Pero lo que
principalmente hace esta etiqueta, es importar
todas las declaraciones de una hoja de estilo
principal a una secundaria, ejemplo:

         @import "stylesheet.css" all;
p{
       background: red; /* Applies to all major
       browsers */
}

body[class|="page-body"] p {
       background: green; /* Applies to IE 7 and most
modern browsers except Opera */ }
-----
<body class="page-body"> <p>Test</p> </body>
Al existir estos tipos de Hacks, los cuales
nos pueden mejorar la vida y ahorrar un poco más
de tiempo al crear una hoja de estilo, también hay
Hacks existente pero que no son recomendables
utilizar ya que el validador de CSS de la W3C no
soporta.

 _propiedad: valor y -propiedad: valor
 *propiedad: valor
 Body:empty
 a:link:visited, a:visited:link
 >body
 !ie
 !important!
Además de las hojas de estilos definidas
por los diseñadores, los navegadores aplican a
cada
página otras dos hojas de estilos: la del
navegador y la del usuario.
       La hoja de estilos del navegador es la
primera que se aplica y se utiliza para
establecer el estilo
inicial por defecto a todos los elementos HTML
(tamaños de letra iniciales, decoración del
texto,
márgenes entre elementos, etc.)
Además de la hoja de estilos del
navegador, cada usuario puede crear su propia
hoja de estilos y aplicarla automáticamente a
todas las páginas que visite con su navegador.
El orden normal en el que se aplican las
hojas de estilo es el siguiente:
El valor !important no sólo afecta a las
declaraciones simples, sino que varía la
prioridad de las hojas de estilo.
La validación es un mecanismo que permite
comprobar que el código CSS creado cumple las
reglas de la sintaxis del lenguaje CSS y que por
tanto es una hoja de estilos válida para aplicarla a
cualquier documento XHTML.

       El W3C (World Wide Web Consortium)
dispone de un validador online que permite validar
reglas CSS sueltas, páginas XHTML con CSS incluido
y archivos CSS independientes. El validador se
puede acceder en http://jigsaw.w3.org/css-
validator/

Más contenido relacionado

La actualidad más candente

codigos HTLM
codigos HTLMcodigos HTLM
codigos HTLMyumnel
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuelacarmen51
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomlaivanGorL
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7Edgar Dueñas
 
HTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezHTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezGustavo
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...SergioIglesiasNET
 
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!SergioIglesiasNET
 

La actualidad más candente (9)

codigos HTLM
codigos HTLMcodigos HTLM
codigos HTLM
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuela
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomla
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7
 
HTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezHTML5 por Gustavo Vilchez
HTML5 por Gustavo Vilchez
 
Las etiquetas estructurales en html5
Las etiquetas estructurales en html5Las etiquetas estructurales en html5
Las etiquetas estructurales en html5
 
19 tips para css
19 tips para css19 tips para css
19 tips para css
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
 
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
 

Destacado

Session no.2, 2010: Roman Death Mythology &amp; Burial Rituals, by Aleks ...
Session no.2, 2010: Roman  Death  Mythology &amp;  Burial  Rituals, by Aleks ...Session no.2, 2010: Roman  Death  Mythology &amp;  Burial  Rituals, by Aleks ...
Session no.2, 2010: Roman Death Mythology &amp; Burial Rituals, by Aleks ...Ecomuseum Cavalleria
 
Constitutional Law 2
Constitutional Law 2Constitutional Law 2
Constitutional Law 2Kevin YL Tan
 
Shorthand is fascinating!
Shorthand is fascinating!Shorthand is fascinating!
Shorthand is fascinating!izzagisselle
 
Latin I Lesson 03
Latin I Lesson 03Latin I Lesson 03
Latin I Lesson 03polaramy
 
Bienvenue dans l’école romaine !
Bienvenue dans l’école romaine ! Bienvenue dans l’école romaine !
Bienvenue dans l’école romaine ! fannycouturier
 
Latin I Lesson 01
Latin I Lesson 01Latin I Lesson 01
Latin I Lesson 01polaramy
 
Philippine Constitution
Philippine ConstitutionPhilippine Constitution
Philippine ConstitutionMelvin Limon
 
Latin I Lesson 02 (public)
Latin I Lesson 02 (public)Latin I Lesson 02 (public)
Latin I Lesson 02 (public)polaramy
 
Latin I lesson 04 share
Latin I lesson 04 shareLatin I lesson 04 share
Latin I lesson 04 sharepolaramy
 
Basic Shorthand P 1 boa
Basic Shorthand P 1 boaBasic Shorthand P 1 boa
Basic Shorthand P 1 boaraileeanne
 

Destacado (10)

Session no.2, 2010: Roman Death Mythology &amp; Burial Rituals, by Aleks ...
Session no.2, 2010: Roman  Death  Mythology &amp;  Burial  Rituals, by Aleks ...Session no.2, 2010: Roman  Death  Mythology &amp;  Burial  Rituals, by Aleks ...
Session no.2, 2010: Roman Death Mythology &amp; Burial Rituals, by Aleks ...
 
Constitutional Law 2
Constitutional Law 2Constitutional Law 2
Constitutional Law 2
 
Shorthand is fascinating!
Shorthand is fascinating!Shorthand is fascinating!
Shorthand is fascinating!
 
Latin I Lesson 03
Latin I Lesson 03Latin I Lesson 03
Latin I Lesson 03
 
Bienvenue dans l’école romaine !
Bienvenue dans l’école romaine ! Bienvenue dans l’école romaine !
Bienvenue dans l’école romaine !
 
Latin I Lesson 01
Latin I Lesson 01Latin I Lesson 01
Latin I Lesson 01
 
Philippine Constitution
Philippine ConstitutionPhilippine Constitution
Philippine Constitution
 
Latin I Lesson 02 (public)
Latin I Lesson 02 (public)Latin I Lesson 02 (public)
Latin I Lesson 02 (public)
 
Latin I lesson 04 share
Latin I lesson 04 shareLatin I lesson 04 share
Latin I lesson 04 share
 
Basic Shorthand P 1 boa
Basic Shorthand P 1 boaBasic Shorthand P 1 boa
Basic Shorthand P 1 boa
 

Similar a Capítulo 13 (20)

Samanta
SamantaSamanta
Samanta
 
Hojas de Estilo en Cascada
Hojas de Estilo en CascadaHojas de Estilo en Cascada
Hojas de Estilo en Cascada
 
Css
CssCss
Css
 
Css
CssCss
Css
 
Curso de diseño CSS
Curso de diseño CSSCurso de diseño CSS
Curso de diseño CSS
 
Entorno de Programacion
Entorno de ProgramacionEntorno de Programacion
Entorno de Programacion
 
crossmedia 03: css
crossmedia 03: csscrossmedia 03: css
crossmedia 03: css
 
html5
html5html5
html5
 
Hojas de estilos css
Hojas de estilos cssHojas de estilos css
Hojas de estilos css
 
Html
HtmlHtml
Html
 
Etiquetas HTML básicas
Etiquetas HTML básicasEtiquetas HTML básicas
Etiquetas HTML básicas
 
Curso de Desarrollo Web: Etiquetas HTML
Curso de Desarrollo Web: Etiquetas HTMLCurso de Desarrollo Web: Etiquetas HTML
Curso de Desarrollo Web: Etiquetas HTML
 
En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3
 
Presentación Seminario Cleformación HTML5, El lenguaje del futuro
Presentación Seminario Cleformación HTML5, El lenguaje del futuroPresentación Seminario Cleformación HTML5, El lenguaje del futuro
Presentación Seminario Cleformación HTML5, El lenguaje del futuro
 
fallas de internt
fallas de interntfallas de internt
fallas de internt
 
Hojas de estilo css
Hojas de estilo cssHojas de estilo css
Hojas de estilo css
 
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspotDEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
 
HTML.pdf
HTML.pdfHTML.pdf
HTML.pdf
 
NUEVO!!! EN HTML 5
NUEVO!!! EN HTML 5NUEVO!!! EN HTML 5
NUEVO!!! EN HTML 5
 
Deber2 css 21
Deber2 css 21Deber2 css 21
Deber2 css 21
 

Capítulo 13

  • 2. Los diferentes navegadores y las diferentes versiones de cada navegador incluyen defectos y carencias en su implementación del estándar CSS 2.1. Algunos navegadores no soportan ciertas propiedades, otros las soportan a medias y otros ignoran el estándar e incorporan su propio comportamiento.
  • 3. Para facilitar la creación de hojas de estilos homogéneas, se han introducido los filtros y los hacks. Los filtros permiten definir u ocultar ciertas reglas CSS para algunos navegadores específicos, aprovechando los errores de cada uno (sobre todo los antiguos) al momento de procesar hojas de estilos
  • 4. Es un mecanismo propietario del navegador Internet Explorer. Los comentarios condicionales permiten incluir hojas de estilos o definir reglas CSS específicamente para una versión de Internet Explorer.
  • 5. El siguiente ejemplo carga la hoja de estilos basico_ie.css solamente para los navegadores de tipo Internet Explorer: <!--[if IE]> <style type="text/css"> @import ("basico_ie.css"); </style> <![endif]-->
  • 6. <!--[if gt IE 7]> Mayor que Internet Explorer 7 <![endif]--> <!--[if gte IE 7]> Mayor o igual que Internet Explorer 7 <![endif]--> <!--[if lt IE 8]> Menor que Internet Explorer 8 <![endif]--> <!--[if lte IE 7]> Igual o menor que Internet Explorer 7 <![endif]-->
  • 7. /* IE6 y superiores */ * html #uno { color: red } /* IE7 */ *:first-child+html #dos { color: red } /* IE7, FF, Safari, Opera */ html>body #tres { color: red }
  • 8. /* IE8, FF, Safari, Opera (Everything but IE 6,7) */ html>/**/body #cuatro { color: red } /* Opera 9.27 y superiores, Safari 2 */ html:first-child #cinco { color: red } /* Safari 2-3 */ html[xmlns*=""] body:lastchild #seis { col or: red }
  • 9. /* safari 3+, chrome 1+, opera9+, ff 3.5+ */ body:nth-of-type(1) #siete { color: red } /* safari 3+, chrome 1+, opera9+, ff 3.5+ */ body:first-of-type #ocho { color: red } /* saf3+, chrome1+ */ @media screen and (-webkit-min-device- pixel-ratio:0) { #nueve { color: red }
  • 10. /* IE6 */ #diez { _color: blue } /* IE6, IE7 */ #once { *color: blue; /* or #color: blue */ } /* Everything but IE6 */ #doce { color/**/: blue }
  • 11. /* IE6, IE7, IE8 */ #trece { color: blue9; } /* IE7, IE8 */ #catorce { color/***/: blue9; } /* IE6, IE7 -- acts as an !important */ #quince { color: blue !ie; }
  • 12. El uso que se le da a este Hacks para la mayoría de los navegadores, es que respeten la importancia que tiene la declaración que contenga esta etiqueta, por ejemplo : p{ background: green !important; /* Navegadores superiores a IE 6 respetarán la importancia inmediatamente */ background: red; /* IE 6 y anteriores aplicará este estilo aunque esté marcado la anterior como importante */ }
  • 13. Esta declaración, no es soportada por versiones anteriores de IE7. Pero lo que principalmente hace esta etiqueta, es importar todas las declaraciones de una hoja de estilo principal a una secundaria, ejemplo: @import "stylesheet.css" all;
  • 14. p{ background: red; /* Applies to all major browsers */ } body[class|="page-body"] p { background: green; /* Applies to IE 7 and most modern browsers except Opera */ } ----- <body class="page-body"> <p>Test</p> </body>
  • 15. Al existir estos tipos de Hacks, los cuales nos pueden mejorar la vida y ahorrar un poco más de tiempo al crear una hoja de estilo, también hay Hacks existente pero que no son recomendables utilizar ya que el validador de CSS de la W3C no soporta.  _propiedad: valor y -propiedad: valor  *propiedad: valor  Body:empty  a:link:visited, a:visited:link  >body  !ie  !important!
  • 16. Además de las hojas de estilos definidas por los diseñadores, los navegadores aplican a cada página otras dos hojas de estilos: la del navegador y la del usuario. La hoja de estilos del navegador es la primera que se aplica y se utiliza para establecer el estilo inicial por defecto a todos los elementos HTML (tamaños de letra iniciales, decoración del texto, márgenes entre elementos, etc.)
  • 17. Además de la hoja de estilos del navegador, cada usuario puede crear su propia hoja de estilos y aplicarla automáticamente a todas las páginas que visite con su navegador.
  • 18. El orden normal en el que se aplican las hojas de estilo es el siguiente:
  • 19. El valor !important no sólo afecta a las declaraciones simples, sino que varía la prioridad de las hojas de estilo.
  • 20. La validación es un mecanismo que permite comprobar que el código CSS creado cumple las reglas de la sintaxis del lenguaje CSS y que por tanto es una hoja de estilos válida para aplicarla a cualquier documento XHTML. El W3C (World Wide Web Consortium) dispone de un validador online que permite validar reglas CSS sueltas, páginas XHTML con CSS incluido y archivos CSS independientes. El validador se puede acceder en http://jigsaw.w3.org/css- validator/