Hai chiesto PERCHÉ, non come imbrogliarlo:
Di solito a causa della pigrizia dei programmatori dell'implementazione iniziale, perché hanno già messo molto più impegno in altre funzionalità, fornendo effetti collaterali più strani come i float, perché erano più richiesti dai progettisti allora e tuttavia non si sono presi il tempo per consentire ciò in modo che possiamo usare le proprietà QUATTRO per spingere / tirare un elemento contro i suoi vicini (ora ne abbiamo solo quattro da spingere e solo 2 da tirare).
Quando l'html è stato progettato, le riviste amavano il testo rifatto intorno alle immagini allora, ora odiato perché oggi abbiamo le tendenze del tocco e amiamo le cose squadrate con molto spazio e niente da leggere. Ecco perché hanno esercitato più pressione sui galleggianti che sul centraggio, oppure avrebbero potuto progettare qualcosa di simile margin-top: fill;
o margin: average 0;
semplicemente allineare il contenuto al fondo o distribuire il suo spazio extra intorno.
In questo caso penso che non sia stato implementato per lo stesso motivo per cui i CSS mancano di uno :parent
pseudo-selettore: per evitare valutazioni in loop.
Senza essere un ingegnere, posso vedere che i CSS in questo momento sono fatti per dipingere gli elementi una volta, ricordare alcune proprietà per gli elementi futuri da dipingere, ma NON tornare MAI agli elementi già dipinti.
Ecco perché (immagino) il riempimento è calcolato sulla larghezza, perché questo è il valore che era disponibile al momento di iniziare a dipingerlo.
Se avessi un valore negativo per il riempimento, influenzerebbe i limiti esterni, che è GIÀ stato definito quando il margine è già stato impostato. Lo so, non è stato ancora dipinto nulla, ma quando leggi come va il processo di pittura, creato da geni con la tecnologia degli anni '90, mi sembra di fare domande stupide e dico solo "grazie", hehe.
Uno dei requisiti delle pagine Web è che siano rapidamente disponibili, a differenza di un'app che può richiedere tempo e consumare le risorse del computer per correggere tutto prima di visualizzarlo, le pagine Web devono utilizzare poche risorse (quindi sono adatte a ogni dispositivo possibile) e scorrere in un attimo.
Se vedi applicazioni con reflow e posizionamento complessi, come InDesign, non puoi scorrere così velocemente! Ci vuole un grande sforzo sia dai processori che dalla scheda grafica per passare alle pagine successive!
Quindi dipingere e calcolare in avanti e dimenticare un elemento una volta disegnato, per ora sembra essere un MUST.