Po pierwsze, statyczne pozycjonowanie ignoruje wartość top
, więc myślę, że twoje pytanie jest trochę zagmatwane. Jeśli to, o co chciałeś zapytać, to position:relative
, oto odpowiedź, która to rozwiązuje.
Ogólnie rzecz biorąc, uważam, że lepiej używać marginesów i dopełnienia do pozycjonowania elementów względem ich sąsiadów, a nie względnego pozycjonowania (co przypuszczam, że naprawdę pytasz, ponieważ statyczne pozycjonowanie ignoruje wartość top
).
Względne pozycjonowanie lub marginesy ujemne mogą powodować nakładanie się obiektów, co rzadko jest tym, czego chcę i może prowadzić do problemów z routingiem zdarzeń, ramkami, tłem itp., Jeśli nie jest to jednoznacznie określone. Czynię cię position:relative
jako pojemnik dla dzieci, który jest position: absolute
, ale prawie nigdy nie używaj go do przenoszenia samego elementu, ponieważ granice i obicie są prawie zawsze czystsze.
Co do dodatkowej części pytania o to, co robi margines, prawdopodobnie powinieneś zrobić małe wyszukiwanie, a niektóre czytanie jako kilka diagramów prawdopodobnie pomoże ci to zobrazować. Margines jest zewnętrznym zbiorem pikseli wokół obiektu. Wewnątrz marginesu znajduje się granica. Wewnątrz granicy znajduje się wyściółka, a wewnątrz wyściółki jest zawartość. Tak więc margines to liczba pikseli wokół obiektu znajdującego się poza obramowaniem, a dopełnienie to liczba pikseli między obramowaniem a treścią obiektu.
Jeśli nie określono granicy, marginesy i dopełnienie zapewniają bardzo podobne efekty, z wyjątkiem tego, że marginesy sąsiednich obiektów są czasami zwinięte (np. Połączone w pojedynczy margines), ale dopełnienie nie jest nigdy łączone w ten sposób, a tło rozciąga się do granicy , ale nie pod marginesem.
Oto StackOverflow pytanie/odbieranie połączeń marż vs. wyściółka zapewniająca kilka innych przydatnych nazwy: When to use margin vs padding in CSS
Oto dobry article o modelu pudełkowego CSS, który obejmuje margines i padding
Kto mówi, że jesteś powinien używać pozycję? Poza tym, 'top' jest ignorowane dla elementów statycznie pozycjonowanych, więc nie jestem pewien, czy twoje założenie jest prawidłowe. – harpo