SlideShare uma empresa Scribd logo
Navegadores insuportados



    IE 7–8          IE 9–10

       IE 7
+/- 5,34% visitas
Com CSS   Sem CSS
Can I use?
                     caniuse.com


•   display: inline-block;
•   opacity + PNG semi-transparente
•   pseudo-classes
•   seletores avançados
•   pseudo-elementos
display: inline-block;
• Faz com que um elemento tenha propriedades
  de block – largura e altura, por exemplo – mas
  siga o fluxo do texto.
• Comportamento um pouco imprevisível.
• No IE 7 só funciona em elementos inline por
  padrão. Exemplo: um <span> pode ser inline-
  block mas um <div> não.
http://dabblet.com/gist/4234290
Opacity + PNG semi-transparente
• PNGs semi-transparentes funcionam bem no
  Internet Explorer 7 e 8…
• …exceto quando se usa a propriedade opacity
  ao mesmo tempo.
Correção:
.teste {
    background:url(ie8-logo.png) 0 0 no-repeat;
    filter: progid:DXImageTransform.Microsoft.gradient(
        startColorstr=#00FFFFFF, endColorstr=#00FFFFFF
    );
}


 Obs: funcionamento ainda precisa ser confirmado.
Algumas pseudo-classes
• IE 7 aceita :hover em todos os elementos,
  :active somente em links.
• IE 7 suporta :first-child mas não :last-child.
• :first-letter e :first-line funcionam tranquilo.
• :focus não funciona nos formulários do IE 7.
Seletores avançados
             seletor [attr]
  permite estilizar elementos além de IDs e
     classes, usando qualquer atributo.

     Exemplos: input[type=button],
a[href*="hotsite"], label[for=email]
Seletores avançados
                seletor >
seleciona o elemento filho direto de um outro
                 elemento.

        Exemplo: ul > li, div > p
Seletores avançados
          (suportado pelo IE 8 com ressalvas)


               seletor +
Seleciona apenas o elemento adjacente ao
            primeiro elemento

    Exemplo: label + input, p + ul
Seletores avançados
                 seletor ~
seleciona todos os próximos elementos irmãos
                 do primeiro

    Exemplo: h2 ~ p, .destaque ~ div
:before / :after
• São pseudo-elementos.
• Usados para adicionar conteúdo á pagina
  através da propriedade content: "...";
• Não suportado pelo IE 7 :(
• Podem ser usados somente se não
  comprometerem o funcionamento do site
DEBUG TIME
img:not([width]):not([height]),
img[alt=""], img:not([alt]) {
   outline: 2px solid red;
}

a:not([title]) {
   background: red;
   color: white;
}

http://dabblet.com/gist/4278123
Mas primeiro…


       Block
    Formatting
     Context
(ou, simplificando, contextos)
Elementos que criam contextos
•   Elemento raiz (<html>)
•   Elementos com float diferente de none
•   Elemento com overflow diferente de visible
•   Elementos com position: absolute ou
    position: fixed
• Elementos inline-block
• Células de tabela (display: table-cell)
• Título de tabela (display: table-caption)
Quando um elemento cria um novo
    contexto, signfica que ele se torna
responsável pelos elementos dentro dele.

 Ou seja, as margens e floats dos elementos
 filhos passam a ser contidos corretamente.
E falando em Internet Explorer…
 O IE possui uma propriedade similar aos
   “contextos” chamada de hasLayout.

 Uma forma trivial de ativar o hasLayout é
 adicionar o já conhecido zoom: 1; ao CSS.
O famoso clearfix
.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/**
 * Somente para IE 6/7
 * Aciona hasLayout para conter floats.
 */
.clearfix {                               Existem outros métodos
    *zoom: 1;                                para limpar floats.
}                                           Escolha sabiamente.
Enfim, floats…
•   Usar com moderação
•   Limpar floats
•   Floats vs. inline-block
•   Empilhamento (z-index)
•   Menus horizontais
Perguntas?
 Sugestões?
  Partiu Polezi?
Na próxima semana:

      Layout digivolve para…
      HTML + CSS


Inscreva você também o seu tema!
Links e Referências
•   http://www.quirksmode.org/css/contents.html
•   http://caniuse.com/#cats=CSS
•   http://www.satzansatz.de/cssd/onhavinglayout.html
•   http://stackoverflow.com/a/6199172
•   http://nicolasgallagher.com/micro-clearfix-hack/
•   http://stackoverflow.com/a/1633170
•   http://www.quirksmode.org/css/clearing.html
•   http://www.css-101.org/articles/floats/
•   http://www.iecss.com/
•   http://docs.webplataform.org/wiki/css/

Mais conteúdo relacionado

Destaque

Presentandohinojos4a
Presentandohinojos4aPresentandohinojos4a
Presentandohinojos4a
Álvaro Garcia Santos
 
Nafarroa itotzeko plana_eu
Nafarroa itotzeko plana_euNafarroa itotzeko plana_eu
Nafarroa itotzeko plana_euarranbela
 
Presentació 4t a_viajandoconelcirco_2012_2013
Presentació 4t a_viajandoconelcirco_2012_2013Presentació 4t a_viajandoconelcirco_2012_2013
Presentació 4t a_viajandoconelcirco_2012_2013
thankskiwi
 
Presentación 4ºb viajandoconelcirco_2012_13
Presentación 4ºb viajandoconelcirco_2012_13Presentación 4ºb viajandoconelcirco_2012_13
Presentación 4ºb viajandoconelcirco_2012_13
thankskiwi
 
Presentació 3r b_viajandoconelcirco_2012_2013
Presentació 3r b_viajandoconelcirco_2012_2013Presentació 3r b_viajandoconelcirco_2012_2013
Presentació 3r b_viajandoconelcirco_2012_2013
thankskiwi
 

Destaque (6)

Presentandohinojos4a
Presentandohinojos4aPresentandohinojos4a
Presentandohinojos4a
 
Nafarroa itotzeko plana_eu
Nafarroa itotzeko plana_euNafarroa itotzeko plana_eu
Nafarroa itotzeko plana_eu
 
File 1.7 nationwide
File 1.7 nationwideFile 1.7 nationwide
File 1.7 nationwide
 
Presentació 4t a_viajandoconelcirco_2012_2013
Presentació 4t a_viajandoconelcirco_2012_2013Presentació 4t a_viajandoconelcirco_2012_2013
Presentació 4t a_viajandoconelcirco_2012_2013
 
Presentación 4ºb viajandoconelcirco_2012_13
Presentación 4ºb viajandoconelcirco_2012_13Presentación 4ºb viajandoconelcirco_2012_13
Presentación 4ºb viajandoconelcirco_2012_13
 
Presentació 3r b_viajandoconelcirco_2012_2013
Presentació 3r b_viajandoconelcirco_2012_2013Presentació 3r b_viajandoconelcirco_2012_2013
Presentació 3r b_viajandoconelcirco_2012_2013
 

Semelhante a CSS Cross "Bownser"

Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do Design
Iuri Andreazza
 
Minicurso CSS
Minicurso CSSMinicurso CSS
Minicurso CSS
Wilker Iceri
 
Curso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um LayoutCurso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um Layout
Tiago Antônio da Silva
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
Miguel Alho
 
Construindo layout de sites com CSS
Construindo layout de sites com CSSConstruindo layout de sites com CSS
Construindo layout de sites com CSS
Talita Pagani
 
Mini curso html5 slides
Mini curso html5   slidesMini curso html5   slides
Mini curso html5 slides
Carlos Rodrigo de Araujo
 
Acessibilidade web - TcheLinux Caxias do Sul
Acessibilidade web  - TcheLinux Caxias do SulAcessibilidade web  - TcheLinux Caxias do Sul
Acessibilidade web - TcheLinux Caxias do Sul
Márcio Bortolini dos Santos
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3
ScrumHalf Tool
 
CSS & JQquery
CSS & JQqueryCSS & JQquery
CSS & JQquery
ScrumHalf Tool
 
CSS
CSSCSS
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhos
andreandrade17
 
HTML+&+CSS++Fundamentos.pdf
HTML+&+CSS++Fundamentos.pdfHTML+&+CSS++Fundamentos.pdf
HTML+&+CSS++Fundamentos.pdf
Cesar Braz
 
HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2
Israel Messias
 
Minicurso javascript
Minicurso javascriptMinicurso javascript
Minicurso javascript
Lucas Aquiles
 
04 02 novos elementos
04 02 novos elementos04 02 novos elementos
04 02 novos elementos
Vasco Ferreira
 
Html5 em 15 minutos
Html5 em 15 minutosHtml5 em 15 minutos
Html5 em 15 minutos
José Willams
 
Básico em (X)HTML e CSS
Básico em (X)HTML e CSSBásico em (X)HTML e CSS
Básico em (X)HTML e CSS
Kako Botasso
 
Curso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JSCurso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JS
Luis Gustavo Almeida
 
Html 5 datainfo
Html 5   datainfoHtml 5   datainfo
Html 5 datainfo
Romário J. Santos
 
Html5 primeiros passos
Html5 primeiros passosHtml5 primeiros passos
Html5 primeiros passos
Roberto Vinicius da Silva
 

Semelhante a CSS Cross "Bownser" (20)

Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do Design
 
Minicurso CSS
Minicurso CSSMinicurso CSS
Minicurso CSS
 
Curso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um LayoutCurso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um Layout
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Construindo layout de sites com CSS
Construindo layout de sites com CSSConstruindo layout de sites com CSS
Construindo layout de sites com CSS
 
Mini curso html5 slides
Mini curso html5   slidesMini curso html5   slides
Mini curso html5 slides
 
Acessibilidade web - TcheLinux Caxias do Sul
Acessibilidade web  - TcheLinux Caxias do SulAcessibilidade web  - TcheLinux Caxias do Sul
Acessibilidade web - TcheLinux Caxias do Sul
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3
 
CSS & JQquery
CSS & JQqueryCSS & JQquery
CSS & JQquery
 
CSS
CSSCSS
CSS
 
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhos
 
HTML+&+CSS++Fundamentos.pdf
HTML+&+CSS++Fundamentos.pdfHTML+&+CSS++Fundamentos.pdf
HTML+&+CSS++Fundamentos.pdf
 
HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2
 
Minicurso javascript
Minicurso javascriptMinicurso javascript
Minicurso javascript
 
04 02 novos elementos
04 02 novos elementos04 02 novos elementos
04 02 novos elementos
 
Html5 em 15 minutos
Html5 em 15 minutosHtml5 em 15 minutos
Html5 em 15 minutos
 
Básico em (X)HTML e CSS
Básico em (X)HTML e CSSBásico em (X)HTML e CSS
Básico em (X)HTML e CSS
 
Curso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JSCurso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JS
 
Html 5 datainfo
Html 5   datainfoHtml 5   datainfo
Html 5 datainfo
 
Html5 primeiros passos
Html5 primeiros passosHtml5 primeiros passos
Html5 primeiros passos
 

Mais de Saulo Pratti

Get up stand up (dailys são demais)
Get up stand up (dailys são demais)Get up stand up (dailys são demais)
Get up stand up (dailys são demais)
Saulo Pratti
 
Trajetos – itinerários de ônibus com pontos de referência
Trajetos – itinerários de ônibus com pontos de referênciaTrajetos – itinerários de ônibus com pontos de referência
Trajetos – itinerários de ônibus com pontos de referência
Saulo Pratti
 
Mobile Web: Aqui e Agora
Mobile Web: Aqui e AgoraMobile Web: Aqui e Agora
Mobile Web: Aqui e Agora
Saulo Pratti
 
Desenvolvimento mobile na Wine
Desenvolvimento mobile na WineDesenvolvimento mobile na Wine
Desenvolvimento mobile na Wine
Saulo Pratti
 
CSS com classe
CSS com classeCSS com classe
CSS com classe
Saulo Pratti
 
Localizador de Amigos
Localizador de AmigosLocalizador de Amigos
Localizador de Amigos
Saulo Pratti
 
A produção de sentidos sobre a imagem do corpo
A produção de sentidos sobre a imagem do corpoA produção de sentidos sobre a imagem do corpo
A produção de sentidos sobre a imagem do corpo
Saulo Pratti
 
O Que é Um Barcamp
O Que é Um BarcampO Que é Um Barcamp
O Que é Um Barcamp
Saulo Pratti
 
Look Video Locadora
Look Video LocadoraLook Video Locadora
Look Video Locadora
Saulo Pratti
 

Mais de Saulo Pratti (9)

Get up stand up (dailys são demais)
Get up stand up (dailys são demais)Get up stand up (dailys são demais)
Get up stand up (dailys são demais)
 
Trajetos – itinerários de ônibus com pontos de referência
Trajetos – itinerários de ônibus com pontos de referênciaTrajetos – itinerários de ônibus com pontos de referência
Trajetos – itinerários de ônibus com pontos de referência
 
Mobile Web: Aqui e Agora
Mobile Web: Aqui e AgoraMobile Web: Aqui e Agora
Mobile Web: Aqui e Agora
 
Desenvolvimento mobile na Wine
Desenvolvimento mobile na WineDesenvolvimento mobile na Wine
Desenvolvimento mobile na Wine
 
CSS com classe
CSS com classeCSS com classe
CSS com classe
 
Localizador de Amigos
Localizador de AmigosLocalizador de Amigos
Localizador de Amigos
 
A produção de sentidos sobre a imagem do corpo
A produção de sentidos sobre a imagem do corpoA produção de sentidos sobre a imagem do corpo
A produção de sentidos sobre a imagem do corpo
 
O Que é Um Barcamp
O Que é Um BarcampO Que é Um Barcamp
O Que é Um Barcamp
 
Look Video Locadora
Look Video LocadoraLook Video Locadora
Look Video Locadora
 

CSS Cross "Bownser"

  • 1.
  • 2.
  • 3. Navegadores insuportados IE 7–8 IE 9–10 IE 7 +/- 5,34% visitas
  • 4. Com CSS Sem CSS
  • 5. Can I use? caniuse.com • display: inline-block; • opacity + PNG semi-transparente • pseudo-classes • seletores avançados • pseudo-elementos
  • 6. display: inline-block; • Faz com que um elemento tenha propriedades de block – largura e altura, por exemplo – mas siga o fluxo do texto. • Comportamento um pouco imprevisível. • No IE 7 só funciona em elementos inline por padrão. Exemplo: um <span> pode ser inline- block mas um <div> não.
  • 8. Opacity + PNG semi-transparente • PNGs semi-transparentes funcionam bem no Internet Explorer 7 e 8… • …exceto quando se usa a propriedade opacity ao mesmo tempo.
  • 9. Correção: .teste { background:url(ie8-logo.png) 0 0 no-repeat; filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=#00FFFFFF, endColorstr=#00FFFFFF ); } Obs: funcionamento ainda precisa ser confirmado.
  • 10. Algumas pseudo-classes • IE 7 aceita :hover em todos os elementos, :active somente em links. • IE 7 suporta :first-child mas não :last-child. • :first-letter e :first-line funcionam tranquilo. • :focus não funciona nos formulários do IE 7.
  • 11. Seletores avançados seletor [attr] permite estilizar elementos além de IDs e classes, usando qualquer atributo. Exemplos: input[type=button], a[href*="hotsite"], label[for=email]
  • 12. Seletores avançados seletor > seleciona o elemento filho direto de um outro elemento. Exemplo: ul > li, div > p
  • 13. Seletores avançados (suportado pelo IE 8 com ressalvas) seletor + Seleciona apenas o elemento adjacente ao primeiro elemento Exemplo: label + input, p + ul
  • 14. Seletores avançados seletor ~ seleciona todos os próximos elementos irmãos do primeiro Exemplo: h2 ~ p, .destaque ~ div
  • 15. :before / :after • São pseudo-elementos. • Usados para adicionar conteúdo á pagina através da propriedade content: "..."; • Não suportado pelo IE 7 :( • Podem ser usados somente se não comprometerem o funcionamento do site
  • 16. DEBUG TIME img:not([width]):not([height]), img[alt=""], img:not([alt]) { outline: 2px solid red; } a:not([title]) { background: red; color: white; } http://dabblet.com/gist/4278123
  • 17.
  • 18. Mas primeiro… Block Formatting Context (ou, simplificando, contextos)
  • 19. Elementos que criam contextos • Elemento raiz (<html>) • Elementos com float diferente de none • Elemento com overflow diferente de visible • Elementos com position: absolute ou position: fixed • Elementos inline-block • Células de tabela (display: table-cell) • Título de tabela (display: table-caption)
  • 20.
  • 21.
  • 22. Quando um elemento cria um novo contexto, signfica que ele se torna responsável pelos elementos dentro dele. Ou seja, as margens e floats dos elementos filhos passam a ser contidos corretamente.
  • 23. E falando em Internet Explorer… O IE possui uma propriedade similar aos “contextos” chamada de hasLayout. Uma forma trivial de ativar o hasLayout é adicionar o já conhecido zoom: 1; ao CSS.
  • 24. O famoso clearfix .clearfix:before, .clearfix:after { content: " "; /* 1 */ display: table; /* 2 */ } .clearfix:after { clear: both; } /** * Somente para IE 6/7 * Aciona hasLayout para conter floats. */ .clearfix { Existem outros métodos *zoom: 1; para limpar floats. } Escolha sabiamente.
  • 25. Enfim, floats… • Usar com moderação • Limpar floats • Floats vs. inline-block • Empilhamento (z-index) • Menus horizontais
  • 26. Perguntas? Sugestões? Partiu Polezi?
  • 27. Na próxima semana: Layout digivolve para… HTML + CSS Inscreva você também o seu tema!
  • 28. Links e Referências • http://www.quirksmode.org/css/contents.html • http://caniuse.com/#cats=CSS • http://www.satzansatz.de/cssd/onhavinglayout.html • http://stackoverflow.com/a/6199172 • http://nicolasgallagher.com/micro-clearfix-hack/ • http://stackoverflow.com/a/1633170 • http://www.quirksmode.org/css/clearing.html • http://www.css-101.org/articles/floats/ • http://www.iecss.com/ • http://docs.webplataform.org/wiki/css/