Zapytałeś DLACZEGO, a nie jak to oszukać:
Zwykle z powodu lenistwa programistów początkowej implementacji, ponieważ już włożyli o wiele więcej wysiłku w inne funkcje, dostarczając bardziej dziwne efekty uboczne, takie jak floaty, ponieważ projektanci byli wtedy bardziej wymagani przez projektantów, a mimo to nie poświęcili czasu aby to umożliwić, abyśmy mogli użyć CZTERY właściwości do popchnięcia / przyciągnięcia elementu do sąsiadów (teraz mamy tylko cztery do pchania i tylko 2 do ciągnięcia).
Kiedy projektowano html, magazyny uwielbiały w tamtych czasach powracać do tekstu wokół obrazów, teraz znienawidzone, ponieważ dziś mamy trendy dotykowe i uwielbiamy proste rzeczy z dużą ilością miejsca i bez treści do czytania. Dlatego kładą większy nacisk na pływaki niż na centrowanie, lub mogli zaprojektować coś takiego jak margin-top: fill;
lubmargin: average 0;
po prostu wyrównać zawartość do dołu lub rozprowadzić dodatkową przestrzeń wokół.
W tym przypadku myślę, że nie został zaimplementowany z tego samego powodu, dla którego CSS nie zawiera pliku :parent
pseudo-selektora: aby zapobiec zapętleniu ocen.
Nie będąc inżynierem, widzę, że CSS jest teraz stworzony do malowania elementów raz, pamiętam pewne właściwości przyszłych elementów do malowania, ale NIGDY nie wracam do już pomalowanych elementów.
Dlatego (chyba) dopełnienie jest obliczane na podstawie szerokości, bo to wartość, która była dostępna w momencie rozpoczęcia malowania.
Gdybyś miał ujemną wartość dla wypełnienia, wpłynęłoby to na zewnętrzne granice, które zostały JUŻ zdefiniowane, gdy margines został już ustawiony. Wiem, że jeszcze nic nie zostało namalowane, ale kiedy czytasz jak przebiega proces malowania, stworzony przez geniuszy z technologią lat 90-tych, czuję, że zadaję głupie pytania i po prostu mówię „dzięki” hehe.
Jednym z wymagań stron internetowych jest to, że są szybko dostępne, w przeciwieństwie do aplikacji, która może zająć trochę czasu i zjadać zasoby komputera, aby wszystko było poprawne przed wyświetleniem, strony internetowe wymagają niewielkich zasobów (więc pasują do każdego urządzenia to możliwe) i przewijaj je w mgnieniu oka.
Jeśli widzisz aplikacje ze złożonym przepływem i pozycjonowaniem, takie jak InDesign, nie możesz przewijać tak szybko! Przejście do następnych stron wymaga dużego wysiłku zarówno od procesorów, jak i karty graficznej!
Więc malowanie i kalkulowanie naprzód i zapominanie o narysowanym elemencie, na razie wydaje się MUSI.