FreeToGenerate.com

100% gratuito · sem registo · tudo no seu navegador

320
180

Um canto é um quarto de elipse, por isso tem um raio horizontal e um vertical. Ligue isto para os definir em separado: é o que a barra separa na forma abreviada.

Superior esquerdo

160

Superior direito

40

Inferior direito

40

Inferior esquerdo

40

O que o navegador vai desenhar mesmo

Factor de escala
0,9000
Superior esquerdo
160,00 144,00
Superior direito
40,00 36,00
Inferior direito
40,00 36,00
Inferior esquerdo
40,00 36,00

Os seus raios não cabem. Todos os cantos estão a ser encolhidos.

Quando dois raios adjacentes se sobreporiam, o CSS não corta esse canto: multiplica todos os cantos do elemento por um mesmo factor. Por isso mudam também cantos em que não tocou.

border-radius: 160px 40px 40px;

Também disponível em: English · Español · Français · العربية

Gerador de border-radius

Arraste os quatro cantos, copie o CSS e veja o que os outros geradores escondem: quando os seus raios não cabem, todos os cantos são escalados.

O que é um gerador de border-radius

Dá-lhe controlos para os quatro cantos de uma caixa e escreve o CSS. Arredonde os quatro por igual e obtém uma pílula ou um círculo; arredonde-os de forma diferente e saem aquelas formas de gota que aparecem em cabeçalhos e avatares.

Este acrescenta a parte que os outros deixam de fora. O CSS tem uma regra sobre o que acontece quando os raios que pede não cabem na caixa, e faz algo mais surpreendente do que cortá-los. O painel por baixo da pré-visualização mostra-lhe o resultado dessa regra enquanto arrasta.

Tudo corre no seu navegador. Nada é enviado e não há conta.

Como usar o gerador

  1. Defina o tamanho da caixa. A largura e a altura importam mais do que parece, porque saber se os seus raios cabem depende inteiramente delas. Um raio que fica bem num cartão não fica bem num botão.
  2. Arraste os cantos. Cada canto tem um controlo por omissão. Ligue os cantos elípticos para dar a cada um um raio horizontal e outro vertical: é para isso que serve a barra na forma abreviada.
  3. Leia o painel e copie. Se o factor de escala descer abaixo de 1, os números riscados são o que pediu e os do lado são o que é desenhado. O bloco de CSS é a declaração pronta a colar.

A regra que muda cantos em que nunca tocou

Imagine um botão de 160 por 44 com 8px nos quatro cantos, e decide que o canto superior esquerdo deve ter um arco grande de 40px. Muda um valor. O que é desenhado são 36,7px nesse canto — e 7,3px nos outros três.

Não é um artefacto de arredondamento nem uma esquisitice do navegador. Está na especificação. O CSS Backgrounds and Borders Level 3 diz que, quando os dois raios que se encontram num lado somam mais do que o comprimento desse lado, calcula-se f como a menor razão entre o comprimento do lado e a soma dos seus raios entre os quatro lados, e então, se f for menor que 1, multiplica-se por f o raio de todos os cantos do elemento. Não o do canto culpado. O de todos.

A correcção é global. Empurre um canto para além do que a caixa aguenta e a forma inteira encolhe em proporção, incluindo cantos que não editou e que por si sós eram perfeitamente legais. Depois de se saber isto, muito CSS que quase encaixava passa a fazer sentido.

O caso mais conhecido é pedir um círculo sobre algo que não é quadrado. Ponha 100px nos quatro cantos de uma caixa de 200 por 100 e o f sai exactamente 0,5, por isso cada canto é desenhado a 50px: um estádio, não um círculo. Costuma explicar-se dizendo que o raio é limitado a metade da altura. Essa descrição dá aqui a resposta certa por acaso, e a regra é outra: é um único factor aplicado a tudo, e por isso também muda os cantos do lado comprido.

Vale a pena conhecer o limite com precisão. A especificação diz que o escalamento se aplica apenas se f for menor que 1, por isso um círculo sobre um quadrado — 50px numa caixa de 100 por 100 — fica exactamente em cima da linha e não é escalado. Um pixel a mais e o f passa a 0,9901, e todos os cantos começam a encolher. Esta ferramenta segue a especificação nessa fronteira em vez de a arredondar.

Limitações assumidas

A pré-visualização é um elemento real com um border-radius real, por isso o que vê é o seu próprio navegador a desenhá-lo; mas os números do painel são calculados a partir da especificação e não lidos do navegador. É deliberado, porque não há nada para ler: o escalamento acontece ao pintar a caixa, e o valor que uma folha de estilos declara é o que você definiu.

Aqui está tudo em píxeis. As percentagens são válidas em border-radius e resolvem-se contra a largura e a altura da própria caixa, o que as torna a melhor escolha para o que for adaptável, mas transformam a questão de saber se os seus raios cabem numa que muda com a janela. Se usar percentagens, a regra continua a aplicar-se; simplesmente não a consegue ver numa pré-visualização fixa.

A ferramenta modela uma caixa lisa. Não se desenham bordas, espaçamento nem a diferença entre a curva exterior e a interior: um elemento real com uma borda grossa tem um segundo raio, mais pequeno, no canto interno, que a especificação deriva subtraindo a espessura da borda. É uma parte legítima do border-radius e fica fora do âmbito de um gerador.

Aqui não há squircle, e não pode haver. As formas suavemente arredondadas do hardware da Apple são superelipses, uma família de curvas diferente do quarto de elipse que o CSS especifica, e nenhuma combinação de valores de border-radius reproduzirá uma. Conseguir esse aspecto na web exige um clip-path ou um SVG, e qualquer ferramenta que prometa um squircle só com border-radius promete algo que a propriedade não consegue fazer.

O motor leva 30 verificações. A principal não é uma tabela de saídas esperadas mas a propriedade que a regra existe para garantir: em 20 000 caixas aleatórias, os dois raios de nenhum lado somam alguma vez mais do que o comprimento desse lado depois do escalamento — a par de um controlo que confirma que essas mesmas entradas a violam antes, de modo a que o teste não possa ser satisfeito por uma função que reduza tudo a zero. Uma sabotagem deliberada que cortava cada canto isoladamente, que é o que vários geradores fazem, falha essa suite em quatro sítios.

Porque é gratuito

Quatro controlos e uma divisão são trabalho que a sua própria máquina faz num instante. Nada é enviado, não há conta e não há nada para marcar de água.

Se quiser cores em vez de cantos, o gerador de gradientes e o conversor de cor deste site estão ao lado, também sem enviar nada.