Vous avez demandé POURQUOI, pas comment le tromper:
Habituellement à cause de la paresse des programmeurs de l'implémentation initiale, parce qu'ils ont déjà mis beaucoup plus d'efforts dans d'autres fonctionnalités, offrant des effets secondaires plus étranges comme des flotteurs, parce qu'ils étaient plus demandés par les concepteurs à l'époque et pourtant ils n'ont pas pris le temps pour permettre cela afin que nous puissions utiliser les propriétés QUATRE pour pousser / tirer un élément contre ses voisins (maintenant nous n'avons que quatre à pousser, et seulement 2 à tirer).
Lorsque le html a été conçu, les magazines adoraient le texte redistribué autour des images à l'époque, maintenant détestés parce qu'aujourd'hui nous avons des tendances tactiles et adorons les choses carrées avec beaucoup d'espace et rien à lire. C'est pourquoi ils mettent plus de pression sur les flotteurs que sur le centrage, ou ils auraient pu concevoir quelque chose comme margin-top: fill;
ou margin: average 0;
simplement aligner le contenu vers le bas, ou répartir son espace supplémentaire autour.
Dans ce cas, je pense qu'il n'a pas été mis en œuvre pour la même raison qui fait que CSS manque de :parent
pseudo-sélecteur: pour éviter les évaluations en boucle.
Sans être ingénieur, je peux voir que CSS est actuellement fait pour peindre des éléments une fois, rappelez-vous certaines propriétés pour les futurs éléments à peindre, mais ne revenez JAMAIS à des éléments déjà peints.
C'est pourquoi (je suppose) le remplissage est calculé sur la largeur, car c'est la valeur qui était disponible au moment de commencer à le peindre.
Si vous aviez une valeur négative pour le remplissage, cela affecterait les limites extérieures, qui ont DÉJÀ été définies lorsque la marge a déjà été définie. Je sais, rien n'a encore été peint, mais quand vous lisez comment se déroule le processus de peinture, créé par des génies avec la technologie des années 90, j'ai l'impression de poser des questions stupides et de dire simplement "merci" hehe.
L'une des exigences des pages Web est qu'elles soient rapidement disponibles, contrairement à une application qui peut prendre son temps et consommer les ressources informatiques pour que tout soit correct avant de l'afficher, les pages Web doivent utiliser peu de ressources (elles sont donc adaptées à chaque appareil. possible) et faire défiler en un rien de temps.
Si vous voyez des applications avec une redistribution et un positionnement complexes, comme InDesign, vous ne pouvez pas faire défiler aussi vite! Il faut un gros effort de la part des processeurs et de la carte graphique pour passer aux pages suivantes!
Donc peindre et calculer en avant et oublier un élément une fois dessiné, pour l'instant cela semble être un MUST.