Nível: avançado
Desde de que passei a usar bordas arrendondadas (corner rounded) por aqui, há vários leitores pedindo que eu conte, em português, como se usa esse recurso. Neste blog não uso aquelas gambiarras complicadas para que os cantos das bordas apareçam curvos em todos os browsers. Eu utilizo border-radius, que é uma novidade da CSS3 e funciona nos seguintes navegadores:
- Firefox 3.0 ou superior
- Flock 2.5 ou superior
- Chrome 3.0 ou superior
- Opera 10.5 ou superior
- Safari 3 ou superior
Não funciona nos browsers:
- Internet Explorer 8 ou inferior
- Opera 10 ou inferior
Se estiver usando um desses dois navegadores incompatíveis, você continuará vendo as bordas quadradas.
O pré-requisito para entender este tutorial é saber usar bordas. Caso ainda não tenha esse conhecimento, visite o post Aprendendo a usar bordas.
1º exemplo:
O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.
► Folha de estilos comum:
<style>
#redondo {padding:20px; border:5px #ffa500 solid; border-radius:50px; -moz-border-radius:50px; -webkit-border-radius:50px;}
</style>
<div id='redondo'>O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
► Folha de estilos do Blogger:
Os estilos do Blogger sempre devem ser definidos acima da linha de código ]]</b:skin>, a não ser que você use uma folha de estilos externa.
#redondo {padding:20px; border:5px #ffa500 solid; border-radius:50px; -moz-border-radius:50px; -webkit-border-radius:50px;}
]]></b:skin>
<div id='redondo'>O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
► Inline
<div style="border: orange 5px solid; padding: 20px; border-radius:50px; -moz-border-radius:50px; -webkit-border-radius: 50px">O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
Para os demais exemplos vou colocar apenas a versão do código inline.
2º exemplo:
O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.
<div style="background:#cd853f; color:#fff; border: #fff 5px solid; padding: 10px; border-radius:20px; -moz-border-radius: 20px; -webkit-border-radius: 20px">O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
3º exemplo:
O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.
<div style="background:#cd853f; color:#fff; border: #cd853f 5px solid; padding: 10px; border-radius:20px; -moz-border-radius: 20px; -webkit-border-radius: 20px">O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
4º exemplo:
O texto que está nesta caixa deve aparecer com uma borda redonda se você estiver não no Internet Explorer ou no Opera.
<div style="background:#9acd32; color:#000; border: #fff 10px solid; padding: 10px; border-top-left-radius: 20px; -moz-border-radius-topleft: 20px; -webkit-border-top-left-radius: 20px; border-bottom-right-radius: 20px; -moz-border-radius-bottomright: 20px; -webkit-border-bottom-right-radius: 20px;">O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
5º exemplo:
O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.
<div style="background:#9acd32; color:#000; border: #fff 10px solid; padding: 10px; border-bottom-left-radius: 20px; -moz-border-radius-bottomleft: 20px; -webkit-border-bottom-left-radius: 20px; border-top-right-radius: 20px; -moz-border-radius-topright: 20px; -webkit-border-top-right-radius: 20px;">O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
6º exemplo:
O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.
<div style="background:#9acd32; color:#000; border: #fff 10px solid; border-top-color:#adff2f; border-left-color:#adff2f; padding: 10px; border-top-left-radius: 20px; -moz-border-radius-topleft: 20px; -webkit-border-top-left-radius: 20px; border-radius-bottomright: 20px; border-bottom-right-radius: 20px; -moz-border-radius-bottomright: 20px; -webkit-border-bottom-right-radius: 20px;">O texto que está nesta caixa deve aparecer com uma borda redonda se você não estiver no Internet Explorer ou no Opera.</div>
Todas as propriedades:
Cantos ↓ | Padrão ↓ | Flock e Firefox (Gecko) ↓ | Chrome e Safari (Webkit) ↓ |
Todos: | border-radius | -moz-border-radius | -webkit-border-radius |
Superior esquerdo: | border-top-left-radius | -moz-border-radius-topleft | -webkit-border-top-left-radius |
Superior direito: | border-top-right-radius | -moz-border-radius-topright | -webkit-border-top-right-radius |
Inferior esquerdo: | border-bottom-left-radius | -moz-border-radius-bottomleft | -webkit-border-bottom-left-radius |
Inferior direito: | border-bottom-right-radius | -moz-border-radius-bottomright | -webkit-border-bottom-right-radius |
Outros posts sobre CSS3:
Até mais!
Teu post ficou sim bem explicativo, mas não sei se notou nem sempre isso é uma boa, ja que um dos mais conhecidos navegadores não aceita o CSS3 como válido ou não interpreta-o [refiro-me ao IE] então assim, teriamos que criar uma 2ª opção para o código caso o internauta usasse o IE o que daria muito trampo, mas nos navegadores como Firefox e Google funciona lindo que é uma beleza. Criei um artigo com um breve tutorial em CSS3 e notei o problema.
ResponderExcluir1º → Sim, não funciona no Internet Explorer e o post foi bem claro quanto a isso desde o começo.
ResponderExcluir2º → Eu não acho isso ruim. É um recurso estético a mais, um bônus para quem usa um navegador melhor. Quem usa IE continuará vendo o site normalmente, só que quadrado. Um site muito famoso que usa esse recurso sem nenhum prejuízo para o usuário de IE é o Twitter.
3º → Este blog boicota o Internet Explorer e não se envergonha disso.
Volte sempre!
Gostei muito do resultado do 5º exemplo.
ResponderExcluirVou implementa-lo eu meu novo layout.
Muito obrigado.
Esse foi o primeiro que achei que funcionou no Opera...
ResponderExcluirGraças a função: border-radius
Vlws ae, me ajudo muito...
Anônimo,
ResponderExcluirQue bom!
Na verdade, quando eu fiz este post ainda não funcionava no Opera, mas na versão 10 já fica tudo redondinho.
Volte sempre!
Olá,
ResponderExcluirTem algum problema se usar os dois código:
-moz-border-radius-topright
-webkit-border-top-right-radius
Ótimo artigo.
Muito bom.. tou usando só em postagens que tem dialogos... vlw
ResponderExcluirEu não consegui colocar bordas redondas. =(
ResponderExcluirKiabbo, se mesmo com tantos exemplos você não conseguiu executar nenhum deles, só me resta anotar seu nome no meu caderninho: vou rezar por você. #IrmaSelmaFeelings
ResponderExcluirColoquei na minha página (que nao é um blog, acho que vale a pena comentar) e a "div" ocupou a tela toda, não somente o pedaçõ que eu gostaria, tem como mecher nisso? Sou extramamente novato e perdido, mas estou tentando, obrigado!
ResponderExcluirValeu! Funcionou perfeitamente :D
ResponderExcluirBoa noite!
ResponderExcluirComo faço para dimensionar o tamanho do box? é width e height como no css2?
Obrigado ate mais.
Eder, sim. Você usa width e height para mudar largura e altura em todas as versões de CSS. Não há perspectiva de que isso mude um dia.
ExcluirEsse site da erro no Internet Explorer... o bichinho fica louco e fecha '-'
ResponderExcluirEita! Não tenho Internet Explorer em casa nem no trabalho, mas depois vou tentar resolver isso. Obrigada por avisar.
Excluir