Wiem, position: absoluteże wyskoczy element z przepływu i przestanie wchodzić w interakcje z sąsiadami.
Jakie są inne sposoby, aby to osiągnąć?
Wiem, position: absoluteże wyskoczy element z przepływu i przestanie wchodzić w interakcje z sąsiadami.
Jakie są inne sposoby, aby to osiągnąć?
Odpowiedzi:
Żaden?
To znaczy, poza całkowitym usunięciem go z układu display: none, jestem prawie pewien, że to wszystko.
Czy masz do czynienia z konkretną sytuacją, która position: absolutenie jest realnym rozwiązaniem?
position: absolutepowoduje przemalowanie podczas przewijania, co jest niekorzystne dla wydajności na urządzeniach mobilnych
display: nonecałkowicie usuwa element nie tylko z przepływu.
Inną opcją jest ustawienie height: 0; overflow: visible;elementu, który tak naprawdę nie będzie znajdował się poza przepływem i dlatego może przerwać zwijanie marginesów .
::beforepseudoelementu z pozycjonowaniem bezwzględnym, aby emulować tło.
Jest display: none, ale myślę, że to może być trochę więcej niż to, czego szukasz.
display: nonepojawiają się w bezsensownym miejscu (u góry ekranu, zakrywając karty). Wygląda na to, że niewidoczne elementy są naprawdę pozbawione pozycji, przynajmniej w tej przeglądarce.
position: fixed;jak powiesz, „wyskoczy” element z przepływu. :)
position: absolutemusi towarzyszyć stanowisko. na przykładtop: 1rem; left: 1rem
position: fixedjednak umieści element w miejscu, w którym normalnie pojawiałby się zgodnie z obiegiem dokumentów, ale zapobiegnie jego przemieszczaniu się po tym. Skutecznie ustawia również wysokość na 0px (w odniesieniu do dom), tak aby następny element przesuwał się nad nim.
To może być całkiem fajne, ponieważ możesz ustawić position: fixed; z-index: 1(lub jakikolwiek inny potrzebny indeks Z) tak, aby „pojawiał się” nad następnym elementem.
Jest to szczególnie przydatne na przykład w przypadku nagłówków o stałej pozycji, które pozostają na górze podczas przewijania.
Swobodna zmiana spowoduje reorganizację przepływu, ale pozycja: bezwzględna to jedyny sposób na całkowite usunięcie go z przepływu dokumentu.
Wiem, że to pytanie ma kilka lat, ale myślę, że próbujesz je zdobyć, więc gdzie duży element, taki jak obraz, nie koliduje z wysokością div?
Właśnie natknąłem się na coś podobnego, w którym chciałem, aby obraz przepełnił element div, ale chciałem, aby znajdował się na końcu ciągu tekstu, więc nie wiedziałem, gdzie to się skończy.
Rozwiązaniem, które wymyśliłem, było umieszczenie margin-bottom: -element wysokości, więc jeśli obraz ma wysokość 20 pikseli,
margin-bottom: -20px;
vertical-align: top;
na przykład.
W ten sposób unosił się nad zewnętrzną częścią elementu div i pozostawał obok ostatniego słowa w ciągu.
W trosce o kompletność: floatWłaściwość usuwa również element z przepływu HTML, np
float: right