Com a experiência que adquirimos na área de webdesign (front-end), geralmente aprendemos e memorizamos vários tipos de códigos, hacks e snippets. Com as CSS, em particular, há uma série de regras e declarações que podem realmente ser úteis para transformar o seu website e aumentar consideravelmente as possibilidades de formatação, se comparadas às técnicas antigas.
@media
A regra
@media
não só nos permite definir estilos para nossa página da web quando impressa na tela. Hoje em dia esta regra atingiu um patamar mais avançado com as “media queries“, que são associadas à criação de sites “adaptativos” ou “responsivos”, ou seja, que se ajustam ao tamanho da tela do dispositivo no qual estiverem sendo acessados.
Você pode criar uma media query usando propriedades como
min-width
para ajustar seu layout de acordo com o tamanho do “viewport” do dispositivo do usuário.background-size
Aí está uma propriedade CSS3 muito útil que ganhou total suporte nos navegadores modernos. Antes, para fazer com que uma imagem, definida como background, fosse ajustada 100% (full size), de acordo com o tamanho do elemento que faz parte, era necessário algumas linhas de código, hacks e até javascripts. Agora nós precisamos de apenas uma linha de código, ou melhor, apenas uma propriedade:
background-size
O código acima faz com que a imagem de fundo do elemento
body
fique 100% ajustado em relação ao seu tamanho.@font-face
Mais uma propriedade CSS3 que tem ajudado bastante de uns tempos pra cá. Antigamente, nós tínhamos uma série de limitações relacionadas às fontes que podíamos usar em nossos sites. Mas agora, com a
@font-face
, um leque enorme de possibilidades se abriu. Usando essa propriedade podemos utilizar fontes diferentes em nossos sites, deixando de lado as limitações antigas.
Existe uma série de fontes gratuitas disponíveis para uso com
@font-face
. Dê uma checada nos sites Font Squirrel, ou Google Fonts. Existe também o TypeKit que não é gratuito.margin: 0 auto;
É surpreendente que até então não exista nenhuma propriedade especifica para centralizar elementos. Mas enquanto isso não acontece, nós podemos utilizar o recurso de margem automática. Ao adicionarmos
margin: 0 auto;
em um elemento de bloco, este será centralizado.overflow:hidden
Existe uma série de soluções e hacks para ajudar a resolver o problema com os elementos flutuantes. Este problema ocorre quando temos, dentro de um elemento de bloco (um DIV por exemplo), um outro elemento com float. Esse elemento que “flutua” não força automaticamente a altura do elemento container, ou seja, a altura do elemento container não acompanha a altura do elemento com float. Isto ocorre porque o elemento que está flutuando deixa de considerar o elemento container como pai.
Um jeito hiper simples de “limpar” os elementos flutuantes é simplesmente declarar
overflow: hidden;
no elemento container. Isto é muito interessante, porque não precisamos mais adicionar “lixo” no nosso código html, como o tão famoso<br style="clear:both" />
..clearfix
Para situações em que o
overflow: hidden;
não funcionar, a melhor alternativa é a técnica “clearfix”. Mais informações sobre a técnica aqui.color: rgba();
Imagens PNG são utilizadas para criar vários efeitos de transparência em webdesign, mas graças a outro avanço, agora podemos criar transparências com a ajuda do modo de cor RGBa. Usando RGBa, ao invés de valores hexadecimais, conseguimos selecionar qualquer cor usando seus canaisRed, Green e Blue, assim como também definir o nível de opacidade (alpha).
input[type="text"]
O seletor
input[type="text"]
, bem como outros seletores avançados no geral, irão elevar suas habilidades com CSS do nível intermediário para o avançado. Seletores de atributos, em particular, são extremamente úteis para estilizar elementos sem que precisemos criar classes adicionais.
Você poderá manipular não só campos do tipo texto, mas também radio, checkbox, submit, password, file, etc.
transform: rotate(30deg);
Aqui está mais uma novidade das CSS3 que nos traz a possibilidade de transformar os elementos. A propriedadetransform pode modificar a forma de um elemento, rotacioná-lo, incliná-lo ou mudar sua posição.
Um artigo bem bacana foi publicado no site Tablelessexplicando melhor cada tipo de transformação.
a { outline: none; }
Talvez você já tenha reparado que algumas vezes ao clicarmos em um elemento de ligação (link), uma estranha borda pontilhada aparece ao redor do elemento.
Se você quiser remover isso, pode usar a propriedade
outline:none
, mas lembre-se que esse efeito é importante para acessibilidade, então, não se esqueça de adicionar :focus
em seus elementos de ligação.
Se você estiver tendo problemas com essa borda pontilhada em elementos flash, use o seguinte código:
A propriedade
outline
também será útil para elementosinput
, para remover a borda que o navegador insere ao redor do elemento.:first-child e :last-child
Estas pseudo-classes nos permitem modificar apenas oprimeiro ou o último filho do elemento pai. Na maioria das vezes são bem úteis para remover bordas de itens de uma lista.
Por hoje é só. Assim que eu souber de mais dicas sobre CSS eu publico aqui no site pra vocês.
Se vocês curtiram o artigo, compartilhem! E qualquer dúvida ou sugestão, basta enviar um comentário. Até a próxima! :-)