Featured Posts

Hands-on HTML 5 2010 O desenvolvimento web está passando por mais uma mudança, evoluindo para acompanhar o ritmo dos negócios e sistemas das grandes empresas baseadas em web, como Google e Yahoo. Com os novos navegadores...

Read more

The Developer's Conference 2010 Esta é a 4a edição do The Developer's Conference, e a Globalcode reuniu toda sua rede de parceiros e profissionais para criar o evento mais completo do ano, sem perder a profundidade necessária...

Read more

Café com Browser 2010 Conversa sobre HTML5 é demanda que já se apresentava desde ano passado pelas organizações brasileiras filiadas ao W3C e por parceiros nas atividades do escritório, principalmente organizações...

Read more

Codeshow 2010 O Visie Codeshow é um evento num formato novo, em que não há palestras. Você vai assistir à construção de uma aplicação em um dia, a partir do zero, usando ferramentas como Git, HTML5, web2py...

Read more

Estrutura Básica de uma página XHTML/HTML Vamos falar sobre os elementos básicos para iniciar uma página HTML <!DOCTYPE> <html>    <head>       <title>          TiloWR       </title>    </head> <body></body> </html> <!DOCTYPE>...

Read more

Hack para Safari 4, Firefox 3.5, Chrome 3 e muito mais com um JS

Posted by Tilo | Posted in XHTML & CSS | Posted on 02-09-2009

Tags:, ,

4

Que o IE6 é um lixo, todo mundo sabe, agora, o que você faz quando os browsers que você confia te deixam na mão? Pois é, na ultima semana descobrimos que FF 3.5, Safari 4 e Chrome 3 estão renderizando de forma diferente, ai o que fazer? Bem, minha sugestão era ir ao banheiro, e chorar por 2 minutos sozinho no escuro, porem hoje o Alister chegou com a solução milagrosa um JS muito simples que faz uma coisa bem bacana.

A idéia é colocar uma classe na tag <HTML> com o nome do navegador utilizado, o JS dá suporte aos seguintes Browsers:

.ie – Internet Explorer (All versions)
.ie8 – Internet Explorer 8.x
.ie7 – Internet Explorer 7.x
.ie6 – Internet Explorer 6.x
.ie5 – Internet Explorer 5.x
.gecko – Mozilla, Firefox (all versions), Camino
.ff2 – Firefox 2
.ff3 – Firefox 3
.opera – Opera (All versions)
.opera8 – Opera 8.x
.opera9 – Opera 9.x
.konqueror – Konqueror
.webkit or safari – Safari, NetNewsWire, OmniWeb, Shiira, Google Chrome
.chrome – Google Chrome

Imagina que agora na herança você tem uma classe com o nome do browser, basta agora você colocar uma classe antes do seletor que você deseja fazer o hack.

Exemplo:

 .ie  .example {
  background-color:  yellow;
  }
  .ie7  .example {
  background-color:  Orange;
  }
  .gecko  .example {
  background-color:  Gray;                              
  }
  .win.gecko  .example {
  background-color:  Red;
  }
  .linux.gecko  .example {
  background-color:  Pink;
  }
  .opera  .example {
  background-color:  Green;
  }
  .konqueror  .example {
  background-color:  Blue;
  }
  .safari  .example {
  background-color:  Black;
  }
  .chrome  .example {
  background-color:  Cyan;
  }
  .example  {
  width:  100px;
  height:  100px;
  border:  1px solid black;
}
<div class=”example”>Teste</div>
<script src="css_browser_selector.js" type="text/javascript"></script>

Uma forma simples de fazer, e que evita o uso de hack’s que poluem o código, e atrapalham na validação.

Para baixar o JS
Para ver um exemplo funcionando
Para seguir o Alister no Twitter

Troca de Classe com JavaScript

Posted by Tilo | Posted in JavaScript, jQuery & Ajax, XHTML & CSS | Posted on 10-06-2009

Tags:,

3

A ideia é que uma div receba um efeito “Hover”, que só é aceito nos browsers superiores ao IE6:

Vamos usar esse HTML como Exemplo:

 <div id="btnSalvar" class="bt off" >Salvar</div>
 <div id="btnCancelar" class="bt off" >Cancelar</div>

Agora crie o CSS:

.bt {
width: 150px;
font: normal 12px/15px 'arial';
text-align: center;
text-decoration: none;
border: solid 1px black;
padding: 5px;
margin: 5px;
color: #fff;
}

.on { background-color: #006600; }
.off { background-color: #990000; }

pra garantir que ele tenho uma aparencia de botão, vou colocar a propriedade “cursor: pointer;” apenas para essa DIV que usaremos como Botão:

div.bt { cursor: pointer; }

o JavaScript entra agora para dar o efeito “Hover”

function LigaDesligaBotoes(botao) {
botao.className = botao.className == "bt off" ? "bt on" : "bt off";
}

pra finalizar basta chamar no Evento onmouseover=”" para quando o maouse está sobre a DIV e onmouseout=”" para quando o mouse sai da DIV:

<div id="btnSalvar" class="bt off" onmouseover="LigaDesligaBotoes(this);" onmouseout="LigaDesligaBotoes(this);" >Salvar</div>
<div id="btnCancelar" class="bt off" onmouseover="LigaDesligaBotoes(this);" onmouseout="LigaDesligaBotoes(this);" >Cancelar</div>

espero ter ajudado.

Exemplo Funcionando

min-height para IE6

Posted by Tilo | Posted in XHTML & CSS | Posted on 14-05-2009

Tags:, , , , ,

0

Todo Desenvolvedor Front-End já precisou de uma div com uma altura minima (min-height) mais não funcionava no lixo do IE6, pois é agente teve problema com um site de cliente que se naum tivese um minimo ele ficava muito estranho, depois de bater a cabeça na parede e tentar se jogar da janela do prédio sem sucesso , pois estavam todas trancadas depois da crise de 29 (não entendeu a piada? Ouve esse podcast!), fui obrigado a procurar uma solução, e cheguei a essa:


.alturaminima100 {
min-height: 100px;
height:auto !important;
height:100px;
}

o segredo é colocar o min-height para o Firefox e todos os outros Browsers e pro IE6 colocar as duas linhas da sequência:

height:auto !important;
height:100px;

o IE 6 vai desenhar o tamanho minimo e almentar quando receber conteudo, lembrando que sempre a melhor opção é Matar o IE6!