CSS com melhorias à Prova de Futuro

O desenvolvedor web que nunca usou uma imagem de 1px para formatar uma página, que atire a primeira pedra. Ops, vai doer!

Sabemos que há uma guerra contínua entre os fabricantes dos principais browsers do mercado, e o saldo desta batalha de titãs, são padrões e novas funcionalidades do HTML e CSS, surgindo num ritmo acelerado. Estamos num momento promissor pra programação front-end.

Neste artigo vou falar um pouco sobre uma nova tendência, de como desenvolver com uma metodologia de “melhorias progressivas”.

O que é o conceito de melhorias progressivas?

Sabemos que padrões web como HTML5 e CSS3, não tem suas propriedades suportadas para todos navegadores do mercado. Então por que ainda temos a preocupação, de que o design de seu site deva renderizar ( ser exibido ) igual em todos eles.

Graded Browser Support, é a nomenclatura usada pelo Yahoo ( www.developers.yahoo.com/yui/articles/gbs ), para esta prática que se tornou definição comum do suporte gradual a navegadores. Abordagem que significa usar propriedades experimentais client-side, em elementos não críticos e fundamentais da sua estrutura de design, sem se preocupar se elas serão ignoradas em browsers mais antigos e não suportados.

Este conceito moderno, tem em sua essência, forçar os padrões web futuramente, melhorando a acessibilidade sem perder funcionalidade. Com isso, a degradação do design em navegadores antigos, se torna mais suave. É óbvio que nunca teremos a mesma experiência de navegação, entre um Konqueror e o Mozilla Firefox 8, mesmo que ambos sejam suportados.

Em suma, evitamos sujar o markup com hacks antigos, antes necessários pra uma tentativa frustrada, de alcançar  resultados exatamente iguais . Então vamos falar de alguns exemplos práticos.

Bordas no Photoshop pra quê?

O atributo CSS3 border-radius, por exemplo, garantirá que no futuro, designers nunca mais precisem do Photoshop para editar cantos arredondados. Este é um exemplo básico nas especificações do W3C:

#seletorCSS {
    border-radius: 10px;
}

Cada navegador tem seu prefixo CSS3, uma vez que as especificações vem sendo adicionadas gradativamente nos navegadores.

  • -moz-: Firefox
  • -webkit-: Safari e Chrome
  • -ms-: Microsoft
  • -o-: Opera

Este link tem uma abordagem mais técnica de como usar o border-radius, uma vez que meu objetivo não é aprofundar na sintaxe, e sim enfatizar que devemos usá-la sem preocupação. Note que não ficou feio sem as bordas, e que o botão não perderá sua funcionalidade de clicar =)

Cores RGBA? Transparência com velocidade.

Imagens em PNG transparente normalmente ficam muito pesadas pra web, e seu uso quase sempre é estético. Muitos navegadores já aceitam cores no formato RGBA, com um canal Alpha de tranparência de valor entre 0 e 1, onde 1 é 100% opaco.

Os três primeiros parâmetros são referentes aos canais RGB e o quarto é o canal Alpha. No exemplo abaixo o elemento terá uma opacidade de 80%.

#seletorCSS {
	background-color: rgba( 0, 0, 0, .8 );  /* fundo preto, com 80% de opacidade */
	color: rgba( 0, 0, 0, .8 );
}

Note a sutileza do menu de fundo preto, que exibi apenas 20% da imagem abaixo. O IE8 entre outros navegadores mais antigos não terão suporte, mas isso também não fará diferença na navegação.

Sombra Projetada

O atributo box-shadow  nos  permite criar sombras projetada como os softwares de edição de imagem, especificando o deslocamento horizontal e vertical da sombra, o raio de defoque e sua cor. Veja este sintaxe para cores RGBA:

#seletorCSS {
   -webkit-box-shadow: 1px 2px 5px 0px rgba(0, 0, 0, 0);

-moz-box-shadow: 1px 2px 5px 0px rgba(0, 0, 0, 0);

box-shadow: 1px 2px 5px 0px rgba(0, 0, 0, 0);

}

O uso de filtros pra compatilibilidade com o IE8 ou inferior eu não recomendo, exceto se o objetivo  do site é visual, por que os mesmos sobrecarregam a CSS.

Ferramentas úteis

Outras propriedades CSS3, como gradientes, múltiplas colunas, @font face, transições, etc. são úteis e ótimas pra substituirem elementos de imagem e hacks desnecessários, otimizando seu projeto. Deixarei pra falar deles mais tarde junto com HTML5.

Dentre as ferramentas que não deixo de usar mais, está a CSS3 Generator. Como o nome diz, ajuda e muito a criar as propriedade CSS3 com seus devidos prefixos e precisão na compatibilidade.

O Addon Firebug do Firefox é fundamental pra debugar, editar e monitorar o CSS e HTML. Facilita muito a vida na hora que u m valor de atributo sobrescreve o outro, deixando você horas pra saber que diabos aconteceu <o>. O Chrome tem uma ferramenta de desenvolvedor nativa, e seu debugger exibe em tempo real os elementos sendo modificados pela CSS … Awesome!

Designers e desenvolvedores formadores de opinião! Devemos divulgar esta prática e espalhar este conceito. Rezamos pela morte do IE7, e por um futuro, onde um projeto web realmente não precise ser visto igual em todos navegadores da galáxia.

Fundamentos sobre design de e-mail Marketing – parte 2

Finalizando o artigo sobre práticas e recursos para criação de um e-mail marketing funcional, segue a segunda parte do post. Leia também a primeira parte deste artigo.

Pois bem, vamos aos mandamentos!

Evite tabelas dentro de tabelas.

Além da tabela de 100% de largura que envolverá o e-mail marketing, você deve se esforçar ao máximo para evitar o aninhamento de tabelas adicionais. Isso é facilmente evitável, usando o sistema de empilhamento em seu lugar.

Isto permite um código muito mais controlável e legível.

Evite imagens de fundo.

Só use gradientes, imagens, etc, quando não houver texto envolvido pelo mesmo. O bom senso pede um alto contraste e uma boa legibilidade do conteúdo, preservando a harmonia entre a cor de primeiro plano e a cor do fundo.

Bordas não funcionam.

Não temos muita compatibilidade e margem de correções específicas para clientes de e-mail, portanto, quando temos bordas que podem fixar-se fora ou dentro da tag <td> ou serem incluídas ou excluídas da largura da <td>, não há muito o que fazer.

A correção? Sei que é de testar a paciência, e se perguntar: Não tem um jeito mais fácil? Mas lá vai.

Crie dois <td> extras, para ambos os lados da <td> principal, e defina a cor de fundo em cada um, especificando também sua largura. Isso vai criar a “falsa” borda e trabalhar corretamente em todos clientes de email. É, sei que é arcaico, mas funciona.

Corrija o bug do Hotmail.

A Microsoft melhorou muito o serviço do Hotmail /Live, apesar de o queridinho da web ser o Gmail. Mas … um mega erro é encontrado – você vai ver que ele adiciona um padding estranho a todas as imagens do código. Por que isso acontece? Vai saber, pergunte ao Bill Gates! Tudo que sei é que há uma correção muito fácil para isto.

Em cada tag de imagem, basta adicionar a CSS inline “display: block”, como mostrado abaixo.

Codifique todos os caracteres. N&atilde;o haver&aacute; erro ;)

Apesar de não ter técnica para codificar caracteres, e sim uma lógica difícil e uma decoreba pura, é melhor fazer sempre.

Ao ver e-mails em diversos clientes de email, não podemos garantir o charset que cada site está utilizando. A codificação dos caracteres especiais nos permite ter a certeza de que todos serão mostrados como deveriam.

Com codificação funcionará definitivamente. Saiba mais sobre o assunto:
The Document Character Set

Introduction to character entity references

JavaScript = Lixo Eletrônico = Spam

Infelizmente, você não pode e não deve incluir qualquer tipo de JavaScript no código de seu e-mail marketing.

Portanto, não imagine pop-ups ou e-mails com auto-rolagem, pelo amor de Deus! Mas se mesmo com esta dica você teimar e decidir colocá-lo, seu e-mail pode ser enviado para a pasta de lixo e isso não é nada bom. Clientes de e-mail vão ver você como um spam e interpretar seu javascript fútil como uma ameaça.

Então, foco no velho e bom HTML.

Dar ao usuário o caminho pra sair.

Ao enviar newsletters para vários clientes, não interessa se você possui um e-mail lindo e bem desenvolvido, esse usuário pode querer não mais fazer parte da sua lista de contatos se o conteúdo não lhe interessa.

Sempre permita-lhes uma saída, pela adição de um link de cancelamento no rodapé ou cabeçalho do e-mail, com um texto parecido ao do exemplo abaixo:

“Se você gostaria de sair deste boletim, basta clicar aqui “

Usuários querem opções e você quer ser visto.

Alguns usuários podem estar utilizando um cliente de e-mail muito básico, acessando o webmail no trabalho ou no celular. Imagens e design complexos não são as melhores opções para estes tipos de clientes. Considere colocar no topo do boletim de e-mail um link que aponta para o e-mail em um servidor web, que o usuário possa ver o e-mail com toda sua beleza.

Exemplo:

“ Não consegue visualizar este e-mail? Ver aqui “

Use um spacer.gif

Alguns navegadores … tá bom, alguns não, o Internet Explorer, não gosta das tags <td> vazias. Mesmo que a <td> esteja definida com a largura o IE vai ignorar isso e configurá-la para zero.

A correção é adicionar um GIF transparente na <td> vazia, e atribuir a largura na imagem. Assim, nosso amigo IE não terá problemas ao interpretar a largura. Realmente outra codificação arcaica pra nosso amigo IE entender. Já disse, pergunte ao Bill Gates.

Envie testes.

Esta é a dica mais importante deste artigo e o aspecto fundamental de um projeto de e-mail. Enviar e-mails de teste permite visualizá-los em todos os navegadores e clientes de e-mail, evitando erros e variações estranhas de renderização.

Espero ter contribuído e que tenham gostado do artigo!

Mais sobre e-mail marketing

Crie um site simples e comece a usar o email marketing

O ideal para um email marketing é que a empresa tenha um site na internet com informações de produtos com domínio próprio. Se sua empresa não tiver um site, não é muito caro e nem difícil de criá-lo. É claro que você pode contratar uma agência digital para desenvolver um projeto completo, mas se o objetivo é criar um site simples, então existem soluções interessantes.

São basicamente 3 passos:

  1. registrar domínio
  2. hospedagem de site
  3. criação do site

Registro de domínio é simples e barato

Um domínio de internet hoje custa cerca de R$ 30,00 a R$ 50,00 por ano.

O primeiro passo é escolher o domínio, precisa ser um disponível. Acesse o formulário de busca e faça algumas pesquisas. Tente combinações do nome de sua empresa com as extensões .com.br, .com, .net. São os mais indicados.

Depois de encontrar um, basta preencher o formulário e pagar o boleto para que o domínio seja registrado.

Hospedagem de site + Criação do site

Após registrar o domínio, você pode assinar um plano com o Criador de Sites incluso. O plano Profissional na TeHospedo possui o recurso do Criador de Sites, que é uma ferramenta fantástica e simples (clique na imagem abaixo e veja os passos).

Criador de Sites

O construtor de sites não requer conhecimento algum de desenvolvimento de sites. Se você sabe usar o Word, não terá dificuldades.

Basta inserir as categorias do site e o conteúdo. Com a hospedagem de sites + Criador de Sites da TeHospedo, você apenas preenche o conteúdo e seu site sai funcionando. Coloque o logotipo do seu site, escolha um dos temas disponíveis (tem temas para tudo que é tipo de site!).

E além de tudo, com a hospedagem, você terá email @exemplo.com.br!

É fácil demais!

Normalmente em uma tarde de trabalho você já cria seu site!

Agora que seu site está pronto vamos enviar email marketing

Com domínio registrado e site pronto, você já pode enviar email marketing. Seus emails serão enviados como por exemplo voce@exemplo.com.br, terá menos problemas com seus emails serem classificados como SPAM (email com domínio próprio você pode habilitar o SPF, que é um recurso que você terá informações detalhadas ao usar o email marketing do TeContato da TeHospedo.

Mais sobre email marketing

Sobre o autor

Roberto Bertó (http://twitter.com/darkelder) é diretor e fundador da TeHospedo, empresa de serviços de internet como hospedagem de sites e servidores cloud. Há 8 anos gerencia o marketing da TeHospedo. A TeHospedo também oferece o serviço TeContato, ferramenta de email marketing, o qual é usado por centenas de empresas. É desenvolvedor web há mais de 12 anos.
Formado em Ciências Contábeis pela UFRGS, está cursando um MBA em Marketing na FGV-RS.

Fundamentos sobre design de email marketing – parte 1

Estarei continuamente escrevendo artigos relacionados a webdesign. Hoje eu falo sobre um assunto complicado mesmo para os designers com experiência, a construção de newsletters (email marketing). Quem nunca ficou surpreso ao ver que seu lindo design simplesmente não funcionou como deveria no outlook ou em algum webmail? Estilos não exibidos, imagens não visualizadas, etc.
Veja também nossos outros artigos sobre email marketing.

Vou citar algumas práticas e recursos infalíveis para criação de um email marketing funcional.

Simplicidade. Menos é mais sempre!

Os emails não são como os projetos web complexos, que devem ser muito bem desenhado, eles devem ter uma estrutura básica e minimalista. Tente basear seus designs em uma imagem de cabeçalho principal seguido do conteúdo. O design mais limpo, mais fácil será para codificar, diminuindo a possibilidade de qualquer anormalidade entre os vários navegadores e clientes de e-mail diferentes do mercado.

Imagem Estrutura Blog TeHospedo

Tenha navegadores web para testar

Certifique-se ter testado em diferentes navegadores web. Quem sabe quem vai ler seu e-mail, e qual é o seu navegador preferido!

No mínimo, use estes:

  • Internet Explorer 6
  • Internet Explorer 7
  • Internet Explorer 8
  • Mozilla Firefox 3
  • Apple Safari 3
  • Google Chrome

Tenha os principais softwares de email e webmail

Cadastre-se em todas as contas de email que você puder imaginar. Abaixo está uma lista de clientes de email para você começar:

Também teste no Thunderbird, Outlook Express, que são os leitores mais usados.

Sim, use tabelas

Os emails devem ser construídos e estruturados usando tabelas para o layout.  Alguns estilos CSS podem ser usado para formatação visual, mas vou comentar isso em outro post.

Use estilos inline

Normalmente na programação de websites, desenvolvedores aconselhariam a não usar estilos direto nas TAGs html – inline – e sim criar uma classe externa para isso.

Infelizmente, em um email marketing, isso não é possível, pois os clientes de email não vão linkar os arquivos externos, e nós não queremos ver nosso design indo por água abaixo. Então, se alguma coisa precisa ter estilo, use estilos inline. Elementos como o tipo e tamanho de fonte podem ser usados dentro da tag <table>, mas os estilos individuais devem ser colocados em <td>.

Use as alt tags de todas imagens. Eu disse todas!

Este é um passo muito importante, mas muitas vezes é esquecido por muitos. Por padrão, os clientes de email desativam as imagens. O atributo ‘Alt’ serve exatamente para exibir um texto no lugar da imagem não carregada. Uma boa técnica é estilizar uma <td> para quando as imagens que estão dentro dela, não carregada, formatem o tipo, tamanho e cor do texto exibido no lugar.

Um ponto que muitos usuários confundem quando se trata da tag “alt”, é atribuí-la como a responsável pela exibição do hint ou tooltip (pequena janela geralmente de fundo amarelo que aparece quando se passa o mouse por cima de uma imagem mostrando algum tipo de descrição da mesma). Esse papel é, na verdade, realizado pela tag title,

Não defina altura nem largura para imagens

Se as imagens estão desativadas por padrão, as dimensões presentes nas tag’s <img>, deixam um monte de espaço em branco desnecessário no seu design.

Envolva o email em uma tabela com largura de 100%

Clientes de email só leem o código dentro das tags do corpo, e não as tags body. Para poder usar uma cor de fundo, você deve criar uma tabela de largura 100%, para simular o efeito “falso” de fundo.

table 100 porcento

Não maior do que 600px

Muitas pessoas realmente não abrem seus e-mail, simplesmente olham ele rapidamente no painel de visualização. Em média, o menor painel de visualização dos clientes de e-mail,é de cerca de 600px, por isso sempre projete seus e-mails nessa largura. Seu e-mail completo pode ser visualizado sem problemas numa largura máxima de 750px.

Personalize o Estilo dos Links

Não se esqueça de estilizar as tags <a>, com CSS inline. Isto irá substituir o padrão de formatação dos clientes de e-mail para as tags <a>.

Em breve mais dicas e a continuação desse artigo!

Mais sobre email marketing