Démo
Examinons la question d'une autre manière avec cette démonstration en images :
Voyons d'abord comment le rayon de la frontière est produit ?
Pour produire du rayon, il faut deux côtés de sa frontière. Si vous définissez border-radius à 50 pixels, il prendra 25 pixels d'un côté et 25 pixels de l'autre côté.
Et en prenant 25 pixels de chaque côté, cela donnerait ceci :
div{
width: 0px;
height: 0px;
border: 180px solid red;
border-radius: 0 50px 0 0;
}
Maintenant, voyez combien il faut au maximum de carrés à appliquer sur un coin ?
Il peut prendre jusqu'à 180 pixels en haut et 180 pixels à droite. Dans ce cas, le résultat serait le suivant :
div{
width: 0px;
height: 0px;
border: 180px solid red;
border-radius: 0 180px 0 0;
}
Et voyez ce que cela donne si nous définissons une valeur non égale du rayon ?
Supposons que vous appliquiez le rayon de la bordure uniquement à deux coins de manière inégale :
Alors il faudrait
Le résultat serait alors le suivant
div{
width: 0px;
height: 0px;
border: 180px solid red;
border-radius: 0 180px 100px 0;
}
Quelle quantité maximale de son bord peut-elle prendre de carré à appliquer sur tous les côtés ? Et voir comment cela produit un cercle ?
Il peut prendre jusqu'à la moitié de la taille de la bordure, c'est-à-dire 180 pixels / 2 = 90 pixels. Il produirait alors un cercle comme celui-ci
div{
width: 0px;
height: 0px;
border: 180px solid red;
border-radius: 180px;
}
Pourquoi faut-il seulement la moitié du carré pour l'appliquer sur tous les côtés ?
Parce que tous les coins doivent définir leur valeur de rayon de la même manière.
En prenant des parties égales de son bord, il produit un cercle.