Sé que position: absolute
sacará un elemento del flujo y dejará de interactuar con sus vecinos.
¿Qué otras formas existen para lograrlo?
Sé que position: absolute
sacará 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: absolute
no es una solución viable?
position: absolute
hace que volver a pintar sobre el desplazamiento, lo cual es malo para el rendimiento en el móvil
display: none
elimina 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 .
::before
pseudo 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: none
aparecen 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: absolute
debe ir acompañado de un puesto. p.ejtop: 1rem; left: 1rem
position: fixed
sin 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.