W CSS wartość auto przy właściwości margin oznacza, że dana wartość nie jest wpisana "na sztywno", tylko jest wyliczana przez przeglądarkę podczas obliczania układu strony.
Najczęściej spotykane zastosowanie zapisu margin: auto; to wyśrodkowanie elementu w poziomie. Dzieje się tak dlatego, że przeglądarka rozdziela wolną przestrzeń w kontenerze na lewy i prawy margines w taki sposób, aby były równe. Efektem jest ustawienie elementu "pośrodku" dostępnej szerokości.
Dlaczego poprawna jest odpowiedź o wyśrodkowaniu?
Jeżeli element (zwykle blokowy) ma ustaloną szerokość mniejszą niż szerokość kontenera, to pozostaje wolne miejsce. Ustawienie marginesów na auto pozwala przeglądarce wyliczyć je tak, by wolna przestrzeń została podzielona symetrycznie po obu stronach, czyli aby element był wycentrowany.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- "stałe dla danej przeglądarki, niezależnie od rozmiaru okna" – wartość auto nie oznacza stałej liczby. Wręcz przeciwnie: jest zależna od dostępnego miejsca, więc zmiana szerokości okna lub kontenera może zmienić wynik obliczeń.
- "równe domyślnym wartościom marginesów elementu" – domyślne marginesy (np. dla niektórych elementów HTML) to oddzielna kwestia. auto nie jest synonimem "domyślne"; to polecenie dla przeglądarki, aby policzyła wartość w kontekście układu.
- "odziedziczone po elemencie rodzica" – marginesy nie działają jak typowe właściwości dziedziczone. Dziedziczenie dotyczy wybranych cech (np. części właściwości tekstu), a marginesy są wyliczane dla konkretnego elementu w jego własnym kontekście układu.
Wskazówka egzaminacyjna: gdy widzisz w zadaniu margin: auto, najczęściej chodzi o mechanizm automatycznego obliczania marginesów i typowy efekt centrowania w poziomie. Jeśli w odpowiedziach pojawia się "odziedziczenie" lub "domyślne", to zwykle są to dystraktory.