quinta-feira, 24 de março de 2011
Como todos já sabem o HTML5 será a próxima geração do HTML. Tivemos grandes mudanças (facilitadoras) do HTML4 para o XHTML e agora com a chegada do HTML5 a tendência é só melhorar. Apesar de ele ser novo, os browsers mais modernos já estão com suporte ao HTML5.
Algumas das promessas do HTML5 são:
- Reduzir a necessidade de plugins externos (como o Flash)
- Melhor manipulação de erro
- Mais marcação para substituir o script
- HTML5 deve ser independente do dispositivo
No tópico
Mais marcação para substituir o script encontrei um atributo muito interessante, o
data-* que serve para adicionar metadados na sua tag.
Ou seja o data-* permite definirmos nossos próprios atributos da tag…
Por exemplo, se estivéssemos desenvolvendo um HTML para a página de comentários de uma foto (como nos sites de relacionamento) seria perfeitamente válido fazer algo desse tipo:
| 1 | <li class="comentario" data-nome="Maurício Faustino" |
| 2 | data-cidade="Brasília" data-estado="DF" |
| 3 | data-pais="Brasil" data-lang="pt-br"> |
| 4 | <b>Maurício Faustino disse:</b> <span>Muito bonita essa foto!</span> |
| 5 | </li> |
Nesse código criamos nossos atributos de metadados do comentário, como o nome, cidade, estado, país e língua em que o autor postou a mensagem.
A vantagem disso é que além do código ficar mais limpo e intuitivo podemos utilizar esses atributos tanto no CSS quanto no Java Script.
Se nós quisermos colorir cada comentário com as cores do país do autor basta fazer isso:
| 1 | .comentario [data-pais=Brasil] { |
| 2 | color: yellow; |
| 3 | background-color:green; |
| 4 | } |
| 5 | .comentario [data-pais=Japao] { |
| 6 | color: red; |
| 7 | background-color:white; |
| 8 | } |
| 9 | ... |
O que antes era feito enchendo as tags de classes, agora é possível utilizando a tag
data-*Outra aplicação é no javascript, temos acesso a esses atributos, podendo inclusive altera-los.
No JQuery, utilizamos a função
$(elemento).data() para usar e modificar esse atributo.
Assim podemos fazer algo do tipo:
| 1 | $(".comentario").click(function() { |
| 2 | if($(this).data("pais")=="Brasil") { |
| 3 | alert("Comentário de um Brasileiro"); |
| 4 | } |
| 5 | }); |
Assim podemos ver que o HTML5 veio para ajudar e facilitar!
Fique a vontade para fazer comentários, críticas e sugestões sobre o post...