CSS - Webord.net

Rotacionar Elementos com CSS!

Ola galera, mais uma vez estou aqui trazendo um artigo que pode ser interessante para a maioria dos desenvolvedores, pois é uma maneira de rotacionar textos em todos os navegadores sem ter que fazer uso de nenhum tipo de imagem, o que torna o site bem mais leve.

Quando eu falo todos os navegadores é porque existe uma maneira de fazer funcionar no Internet Explorer também.

Para rotacionar textos no Firefox e em outros navegadores que tem os padrões de CSS atualizados é muito simples rotacionar qualquer tipo de objeto na tela (Webkit e Firefox 3.5), basta utilizar uma propriedade e falar quantos graus devem ser modificados, da seguinte forma:

-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-o-transform: rotate(270deg);

Bem simples, porém como sempre temos um problema, chamado IE.

Que no meu ver não é tão ruim assim se você você estiver disposto em aprender como solucionar os seus problemas. São muitos mas boa parte deles já tem um bom Hack para consertar, basta ter interesse.

Para que rotacionar elementos funcione no Interent Explorer basta você usar os filtros que são fornecidos pelo MSDN no seu banco de dados para desenvolvedores.

No caso iremos usar o BasicImage, que é um filtro que te permite fazer vários tipo de manipulações com elemento, tipo transformá-lo em Preto e Branco.

filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

Bom estermos usando a propriedade rotation do filtro, que nos permite girar o elemento em 4 ângulos diferentes com 4 inteiros diferentes, sendo eles: 0, 1, 2 e 3 e rotacionando em 0, 90, 180 e 270 graus respectivamente.

Essas propriedades só irão funcionar em elementos que tenham a propriedade de bloco, ou seja, para elementos de texto, como um span será necessário adiconar a seguinte propriedade ao elemento em CSS:

display:block;

Colocando em Prática os conhecimentos novos

Eu estava lendo um pouco do CSS-Tricks, um maravilhoso site sobre CSS, e me deparei com a dica de usar sprites para fazer as data dos artigos colocados no blog, para aqueles temas que usam um tipo de pequeno calendário para exibir a data.

Fiquei intrigado com a idéia, porém achei que era meio ruim para um site de longo prazo, que tem sei la uns 8 ou 9 anos de existencia, pensei que seria melhor apenas rotacionar os elementos. Mas ai me veio a idéia de que teria o Internet Explorer para me atrapalhar, e dias depois descobri o banco de dados para desenvolvedores da MSDN, e este tornou a idéia possível.

Então como fazer é bem simples, vamos aplicar o que aprendemos mais acima, vamos criar um código da seguinte forma:

<div class="data">
  <span class="dia">07</span>
  <span class="mes">Dez</span>
  <span class="ano">2009</span>
</div>

Após feito isso iremos adicionar um pequeno código CSS para que fique na posição que desejamos, e é claro adicionar a rotação:

<style type="text/css" media="screen">
	* { margin: 0; padding: 0px; outline:none; border:none; }
	body { padding:20px; font-family: Arial, Helvetica, sans-serif; }

	.data { background-color:#dedede; color:#3e3e3e; float:left; position:relative; padding:40px 5px 0px; }
	.data .mes { text-transform: uppercase; font-size:25px; }
	.data .dia { font-size:36px; line-height:45px; position:absolute; left:5px; top:0px; }
	.data .ano { display:block; font-size:12px; position:absolute; right:-5px; top:15px; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg);-o-transform: rotate(90deg);
 }

	div.footer { position: absolute; bottom:0px; width: 95%; height:30px; padding: 15px 2%; border-top:1px solid #e1e1e1;}
</style>
<!--[if IE]>
	<style>
		.data .ano { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); right:2px!important; top:8px!important; }
	</style>
<![endif]-->

Após adicionado este CSS deve ficar como na imagem abaixo:
Data funcionando nos navegadores

Você pode dar uma olhada se funciona no seu navegador, caso não funcione da maneira que deveria, por favor deixe um comentário com as informações do seu navegador

, , , , , ,

[Rapidinha] Como usar o !important em CSS

Bom nesta rapidinha pretendo falar como esse marcador se comporta e para que o seu uso. Vamos lá ver…

Se você faz marcação de sites, com XHTML e CSS provavelmente já deve ter visto o marcador !important em algum site ou código de CSS que mexeu.

Primeiramente você deve saber que quando é colocado em um site um arquivo de estilos em cascata, ele vai modificar os padrões que o browser do usuário já havia definido, dai muitos problemas com fontes na web, então todas as ordens de estilo CSS vem de algum lugar, um arquivo, no próprio cabeçalho da página ou até na própria tag, e isso pode causar confusões em diferentes navegadores.

Existe uma maneira de sobrepor as regras que foram dadas anteriormente, basta usar o marcador !important que o estilo que estiver marcado com o dito cujo será interpretado com o de valor maior, logo será o usado. Ele deve ser aplicado desta forma:

.sumir { display:none!important; }

Bom o código acima é usado para fazer com que uma caixa suma, ou seja, mostre:nada; e o !important antes do ponto e vírgula é para definir que não importe a regra de display usada anteriormente, a que irá contar é esta.

Qualquer dúvida ou pedido de rapidinha diga eu que procuro na internet como fazer e vejo se encaixo na série de artigos!

, , , , , , , , , , , ,

IE Fix: Correção para o Redimencionamento

Olá galera meu nome é Gustavo Silva Bordoni, tenho 16 anos e moro no Rio de Janeiro.  Sou mais um dos aficionados por tecnologia que resolveu criar seu próprio Blog sobre o assunto.

Minha proposta é bem simples, quero transmitir o máximo de informação útil para quanto for possível.

Não vou ficar muito em explicações, vou direto ao ponto principal deste artigo, achei um pequeno e muito útil hack no site do Chris Coyer e resolvi colocar aqui. Uma correção muito simples usando CSS para o serrilhado deixado pelo redimencionamento feito pelas propriedades height e width no HTML.

Para fazer tal correção basta você adicionar a seguinte propriedade em seu arquivo .CSS:

img { -ms-interpolation-mode: bicubic; }

Tal correção não irá funcionar em imagens com transparência, como as .png e as .gif.

exemplo

Editado em 26-03-09:

O comentário do Rafael Silva adicionou uma informação sobre o IE 8, falando que esse código já é nativo no IE8.

, , , , ,