Já leu esse post?

Tirando o MSN/ICQ da barra de tarefas (windows 7) Logo quando terminei de fazer a instalação do windows 7 na minha maquina percebi que ele deixa o icone na barra de tarefas por padrão, fiquei meio chateado, afinal...

Continue lendo

$1337: Recompensa para quem encontrar falhas de segurança... O Google anunciou sua nova iniciativa que busca ampliar a segurança de seu navegador. Desenvolvedores ou pesquisadores de segurança que notificarem a empresa sobre falhas...

Continue lendo

ICQ, se você usa, você é a resistência! Antes de qualquer coisa, ai vai meu numero de ICQ: 583748378 Quem não se lembra o Ôou e do som de maquina de escrever enquanto digita e aquela boa e velha opção...

Continue lendo

Operadores Aritméticos - Lógica de Programação Apartir de hoje vou iniciar uma série de posts sobre Lógica de Programação, a idéia é colocar em prática os conhecimentos absorvidos no dia-a-dia, serão posts curtos...

Continue lendo

Expressões aritméticas com JavaScript Saber expressões aritméticas é fundamento para desenvolvimento de animações em javascript, desde movimentações de ponto a ponto à coisas complexas com seqüências...

Continue lendo

TiloWR Rss

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

Posted on : 02-09-2009 | By : Tilo | In : Tutoriais

0

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 on : 10-06-2009 | By : Tilo | In : Tutoriais

2

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 on : 14-05-2009 | By : Tilo | In : Tutoriais

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!

Hack’s, lá e de volta outra vez.

Posted on : 07-03-2009 | By : Tilo | In : Tutoriais

1

quem desenvolve web concerteza já passou por um momento como esse ilustrado pelo nerdson, a questão é que não adianta em quanto a microsoft nào fezer com o IE o mesmo que ela faz com o MSN, a atualização Obrigatoria, nos vamos continuar a fazer Hacks pro IE6.

porem qual o hack certo para ser usado?

eu conheço algumas formas de fazer hack, e hoje vou tentar explicar como usa-los;

HTML tag:

Todas as Versões do IE

<!--[if IE]> Conteudo <![endif]-->

IE7 e Superior

<!--[if gt IE6]> Conteudo <![endif]-->

IE7 e Anterior

<!--[if lte IE7]> Conteudo <![endif]-->

esses Hack são principalmete para um conteudo que não está sendo renderisado no IE, você pode colocar uma marcação adicional para ele.

CSS Selector:

IE 7

*:first-child+html body seletor { propriedade: valor; }

IE 6

* html body seletor { propriedade: valor; }

Chrome e Safari

body:nth-of-type(1) seletor { propriedade: valor; }

Opera 9 e anteriores

html:first-child seletor { propriedade: valor; }

use essa forma apenas quando você precisa que uma determinada classe seja vista apenas pelo navegador em questão, isso ajuda muito quando você criou um hack no HTML e precisa tratar esse elemento.

Diferença de Margin – Padding

Posted on : 05-03-2009 | By : Tilo | In : Tutoriais

1

Ai vai uma dica rápida…

Muita gente tem duvida sobre a diferença das propriedades CSS margin e padding, ai vai uma explicação bem rápida.

Margin = Margem


.classe { margin: auto; }

Espaço do limite do elemento pra fora.

Padding = Preenchimento


.classe { padding: auto; }

Espaço do elemento pra dentro.

Exemplo:

Padding: O espaço entre o inicio do paragrafo e a primeira letra. lembrando que se o paddin e um preenchimento você não pode usar em elemento IMG.

Margin: espaço entre o fim de um elemento e o proximo.

padding

você pode usar as dua propriedades da forma completa:


.classe {
margin-top: auto;
margin-right: auto;
margin-bottom: auto;
margin-left: auto;
}

.classe {
padding-top: auto;
padding-right: auto;
padding-bottom: auto;
padding-left: auto;
}

ou da forma shot (atalho):


.classe { margin: auto auto auto auto; }
.classe { padding: auto auto auto auto; } 

a ordem dos elemento é a mesa da completa:

para cima, direita, abaixo e esquerda; dessa forma você já declara todos os valores em uma unica linha, porem se escrever apenas uma vez ele distribui o mesmo valor 4 vezes.

caso você queira que acima e abaxo tenham um valor, e para direita e esquerda tenha outro valor você pode usar o shot2:

o primeiro valor vai para acima e abaixo e o segundo valor para esquerda e direita:


.classe { margin: 0 auto; }
.classe { padding: 0 auto; } 

espero ter ajudado…