Sé que position: absolutesacará un elemento del flujo y dejará de interactuar con sus vecinos.
¿Qué otras formas existen para lograrlo?
Sé que position: absolutesacará un elemento del flujo y dejará de interactuar con sus vecinos.
¿Qué otras formas existen para lograrlo?
Respuestas:
¿Ninguna?
Quiero decir, aparte de eliminarlo del diseño por completo display: none, estoy bastante seguro de que eso es todo.
¿Se enfrenta a una situación particular en la que position: absoluteno es una solución viable?
position: absolutehace que volver a pintar sobre el desplazamiento, lo cual es malo para el rendimiento en el móvil
display: noneelimina completamente el elemento no solo del flujo.
Otra opción es establecer height: 0; overflow: visible;un elemento, aunque no estará realmente fuera del flujo y, por lo tanto, puede romper el margen y colapsar .
::beforepseudo elemento con posicionamiento absoluto para emular el fondo.
Lo hay display: none, pero creo que puede ser un poco más de lo que estás buscando.
display: noneaparecen en una ubicación sin sentido (en la parte superior de la pantalla, cubriendo las pestañas). Parece que los elementos que no se muestran son realmente sin posición, al menos en ese navegador.
Flotar reorganizará el flujo, pero la posición: absoluta es la única forma de eliminarlo por completo del flujo del documento.
position: fixed;también "sacará" un elemento del flujo, como usted dice. :)
position: absolutedebe ir acompañado de un puesto. p.ejtop: 1rem; left: 1rem
position: fixedsin embargo, colocará el elemento donde normalmente aparecería de acuerdo con el flujo del documento, pero evitará que se mueva después de eso. También establece efectivamente la altura en 0px (con respecto al dom) para que el siguiente elemento se mueva hacia arriba sobre él.
Esto puede ser muy bueno, porque puede configurar position: fixed; z-index: 1(o cualquier índice z que necesite) para que "aparezca" sobre el siguiente elemento.
Esto es especialmente útil para los encabezados de posición fija que permanecen en la parte superior cuando se desplaza, por ejemplo.
Sé que esta pregunta tiene varios años, pero lo que creo que está tratando de hacer es conseguir que un elemento grande, como una imagen, no interfiera con la altura de un div.
Me encontré con algo similar, donde quería que una imagen desbordara un div, pero quería que estuviera al final de una cadena de texto, así que no sabía dónde terminaría.
Una solución que descubrí fue poner el margen inferior: altura del elemento, por lo que si la imagen tiene 20 píxeles de altura,
margin-bottom: -20px;
vertical-align: top;
por ejemplo.
De esa manera, flotó sobre el exterior del div y permaneció junto a la última palabra de la cadena.