Nível: intermediário

O adjetivo “automáticas” é por minha conta. Eu chamei esse recurso assim porque há várias formas manuais de dividir o conteúdo em colunas com CSS. No modo manual você tem que saber exatamente onde começa e onde termina cada coluna para poder dividir, como no exemplo abaixo:
<div style="width: 250px; margin-left: 5px; margin-right: 5px">Conteúdo da primeira coluna.</div>
Curabitur cursus commodo lectus a sagittis. Donec eget eros diam, in fringilla nisl. Cras semper cursus lorem vel consectetur. Sed nibh nisi, condimentum eget ullamcorper ut, accumsan eu elit! Praesent ut fermentum orci? Maecenas faucibus fringilla lacus. Maecenas nisi elit, dictum sit amet consectetur a, vestibulum id nulla. Integer at quam sit amet mauris pretium blandit sit amet non sapien! Sed est erat, pellentesque et tincidunt ac; tempus nec est. Aenean pulvinar nibh a velit viverra vitae sagittis justo dictum. Proin lobortis varius quam a faucibus. Maecenas sollicitudin ante et tellus venenatis nec rhoncus eros commodo. Morbi est dui, accumsan quis cursus ac, interdum eu quam. Proin quam dolor, commodo vitae lacinia tincidunt, interdum eget quam. Morbi mattis tortor vitae augue rutrum congue? Donec ut volutpat mauris. Nam ut neque at lorem consectetur lobortis eu quis augue.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vitae lacus et odio laoreet molestie non non ipsum. Ut justo orci, cursus id vehicula a, faucibus pharetra ipsum. Sed mollis nisl sed risus dapibus tempor! Sed imperdiet; velit id rhoncus porta, arcu metus sagittis purus, eu mollis quam dui eu diam. Donec nec semper ipsum. Nullam vitae velit mauris. Proin nulla tortor, commodo in faucibus non, sagittis vitae augue. Quisque condimentum massa euismod odio volutpat consectetur. Nunc mattis augue justo, sit amet fermentum libero. Pellentesque et elit nec erat mattis vestibulum vel ac metus? Curabitur gravida, eros vel tincidunt pellentesque; magna elit pulvinar libero, et euismod quam libero non neque. Integer iaculis volutpat neque et fermentum. Nulla a erat a lacus convallis aliquet. In vulputate eleifend luctus.
Desse modo é mais difícil que o resultado seja simétrico, já que a distribuição do texto pode variar de acordo com a fonte ou até mesmo com as configurações da máquina do visitante.
Diferente do que acontece no próximo exemplo que usa a prévia do CSS3 para dividir automaticamente as colunas, sem usar JavaScript. Funciona nos navegadores parentes do Mozilla (como Firefox, Flock, Netscape) e nos parentes do Safari (como Safari, Chromium e Google Chrome):
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vitae lacus et odio laoreet molestie non non ipsum. Ut justo orci, cursus id vehicula a, faucibus pharetra ipsum. Sed mollis nisl sed risus dapibus tempor! Sed imperdiet; velit id rhoncus porta, arcu metus sagittis purus, eu mollis quam dui eu diam. Donec nec semper ipsum. Nullam vitae velit mauris. Proin nulla tortor, commodo in faucibus non, sagittis vitae augue. Quisque condimentum massa euismod odio volutpat consectetur. Nunc mattis augue justo, sit amet fermentum libero. Pellentesque et elit nec erat mattis vestibulum vel ac metus? Curabitur gravida, eros vel tincidunt pellentesque; magna elit pulvinar libero, et euismod quam libero non neque. Integer iaculis volutpat neque et fermentum. Nulla a erat a lacus convallis aliquet. Proin quam dolor, commodo vitae lacinia tincidunt, interdum eget quam. Morbi mattis tortor vitae augue rutrum congue? Donec ut volutpat mauris. Nam ut neque at lorem consectetur lobortis eu quis augue. In vulputate eleifend luctus.
Curabitur cursus commodo lectus a sagittis. Donec eget eros diam, in fringilla nisl. Cras semper cursus lorem vel consectetur. Sed nibh nisi, condimentum eget ullamcorper ut, accumsan eu elit! Praesent ut fermentum orci? Maecenas faucibus fringilla lacus. Maecenas nisi elit, dictum sit amet consectetur a, vestibulum id nulla. Integer at quam sit amet mauris pretium blandit sit amet non sapien! Sed est erat, pellentesque et tincidunt ac; tempus nec est. Aenean pulvinar nibh a velit viverra vitae sagittis justo dictum. Proin lobortis varius quam a faucibus. Maecenas sollicitudin ante et tellus venenatis nec rhoncus eros commodo. Morbi est dui, accumsan quis cursus ac, interdum eu quam.
In faucibus adipiscing imperdiet. Aenean consectetur felis eu velit porttitor semper. Maecenas pharetra orci vitae quam congue luctus. Suspendisse nibh metus, venenatis ut sagittis eu, sollicitudin quis felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed tempor consequat faucibus. Aenean dictum porta consectetur. Curabitur rhoncus, nunc quis eleifend suscipit, lectus neque tempor sem, at dictum massa neque et odio. Sed non turpis enim, eu dapibus nisl. Nam suscipit, leo posuere tempus hendrerit, nunc eros sodales dolor, sed luctus lectus sapien aliquam metus! Morbi congue dui sit amet ante bibendum sollicitudin. Donec aliquam metus eu tellus fermentum et tincidunt lorem luctus. Etiam nunc tellus, vulputate ac fermentum ut, convallis sit amet enim.
Os usuários do Internet Explorer e do Opera verão o texto normalmente, sem nenhum arranhão, porém, sem colunas.
Observe esse outro exemplo:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vitae lacus et odio laoreet molestie non non ipsum. Ut justo orci, cursus id vehicula a, faucibus pharetra ipsum. Sed mollis nisl sed risus dapibus tempor! Sed imperdiet; velit id rhoncus porta, arcu metus sagittis purus, eu mollis quam dui eu diam. Donec nec semper ipsum. Nullam vitae velit mauris. Proin nulla tortor, commodo in faucibus non, sagittis vitae augue. Quisque condimentum massa euismod odio volutpat consectetur. Nunc mattis augue justo, sit amet fermentum libero. Pellentesque et elit nec erat mattis vestibulum vel ac metus? Curabitur gravida, eros vel tincidunt pellentesque; magna elit pulvinar libero, et euismod quam libero non neque. Integer iaculis volutpat neque et fermentum. Nulla a erat a lacus convallis aliquet. Proin quam dolor, commodo vitae lacinia tincidunt, interdum eget quam. Morbi mattis tortor vitae augue rutrum congue? Donec ut volutpat mauris. Nam ut neque at lorem consectetur lobortis eu quis augue. In vulputate eleifend luctus.
Curabitur cursus commodo lectus a sagittis. Donec eget eros diam, in fringilla nisl. Cras semper cursus lorem vel consectetur. Sed nibh nisi, condimentum eget ullamcorper ut, accumsan eu elit! Praesent ut fermentum orci? Maecenas faucibus fringilla lacus. Maecenas nisi elit, dictum sit amet consectetur a, vestibulum id nulla. Integer at quam sit amet mauris pretium blandit sit amet non sapien! Sed est erat, pellentesque et tincidunt ac; tempus nec est. Aenean pulvinar nibh a velit viverra vitae sagittis justo dictum. Proin lobortis varius quam a faucibus. Maecenas sollicitudin ante et tellus venenatis nec rhoncus eros commodo. Morbi est dui, accumsan quis cursus ac, interdum eu quam.
Caso você não tenha visto nenhuma coluna nos exemplos acima é porque não está em um navegador compatível, segue então uma imagem para você ter uma noção:
Compreendendo as propriedades:
- -moz-column-count - define o número de colunas nos navegadores que usam a engine Gecko (parentes do Mozilla).
- -webkit-column-count - define o número de colunas nos navegadores que usam a engine Webkit (parentes do Safari).
- -moz-column-rule - define a linha que vai aparecer entre as colunas nos navegadores Gecko. As características são as mesmas das bordas: espessura, estilo e cor, mas você também pode colocá-las separadas:
- -moz-column-rule-width - largura da linha vertical.
- -moz-column-rule-style - estilo da linha vertical.
- -moz-column-rule-color - cor da linha vertical
- -webkit-column-rule - define a linha que vai aparecer entre as colunas nos navegadores WebKit.
- -webkit-column-rule-width - largura da linha vertical.
- -webkit-column-rule-style - estilo da linha vertical.
- -webkit-column-rule-color - cor da linha vertical
- -moz-column-width - define a largura de cada coluna nos navegadores Gecko.
- -webkit-column-width - define a largura de cada coluna nos navegadores WebKit.
- -moz-column-gap - define a distância entre as colunas nos navegadores Gecko.
- -webkit-column-gap - define a distância entre as colunas nos navegadores WebKit.
Definindo na folha de estilos:
Você também pode definir as características das colunas direto na folha de estilos. Observe o exemplo abaixo usando a folha de estilos do Blogger:
div#duascol {-moz-column-count:2; -moz-column-gap:15px; -moz-column-rule:1px solid #fc0; -webkit-column-count:2; -webkit-column-gap:15px; -webkit-column-rule:1px solid #fc0;}
]]></b:skin>
Em uma folha de estilos padrão:
div#trescol {-moz-column-count:3; -moz-column-gap:15px; -moz-column-rule:1px solid #fc0; -webkit-column-count:3; -webkit-column-gap:15px; -webkit-column-rule:1px solid #fc0;}
div#duascol {-moz-column-count:2; -moz-column-gap:15px; -moz-column-rule:1px solid #fc0; -webkit-column-count:2; -webkit-column-gap:15px; -webkit-column-rule:1px solid #fc0;}
</style>
Assim, sempre que quiser dividir o conteúdo do post em três colunas, basta utilizar a id definida na folha de estilos:
Quando quiser usar duas colunas:
Não adianta testar esse recurso usando o Windows Live Writer, porque o visualizador dele simula o Internet Explorer, um navegador não compatível com o recurso.
Atualmente uso colunas automáticas nos seguintes posts:
Fontes: Chris B., CSS3.info, Lorem Ipsum, W3C
Reprodução não autorizada é fraude e dá multa. Lei 9.610 de 1998.




0 comentando:
Postar um comentário
Atenção!
Se não quiser usar login, use a opção Nome/URL, sendo que a URL é opcional. Comentários anônimos têm mais chances de serem descartados na moderação.
Após enviar você não verá seu comentário publicado na página imediatamente, portanto não precisa comentar duas vezes a mesma coisa.
Seja organizado: use a tecla Enter para separar os parágrafos e use tags para enriquecer o texto: <b> (negrito), <i> (itálico), <a> (link).
Por falar em links, eles só são aceitos no corpo da mensagem se tiverem TOTAL relação com o tema do post. Se quiser apenas deixar o link do seu blog, comente usando a opção Nome/URL.
Para ser notificado via Twitter quando eu responder ao comentário, basta assinar com seu @nomedeusuario.
Não respondo comentários por e-mail, portanto só deixe seu endereço no corpo da mensagem se quiser ser vítima de spam. Para mensagens privadas, use o formulário de contato.
Obrigada!