Como puede ver, la primera imagen toma la posición más a la derecha. Del mismo modo, cuando la línea se rompe, la cuarta imagen se coloca en el lado derecho. Es por eso que rara vez verá a alguien flotar una lista de elementos de navegación a la derecha. Para hacerlo se atornilla con el pedido y se requieren cambios no deseados en la jerarquía de HTML para resolver.
Despejando flotadores
Los flotadores son útiles para lograr grandes dotes de diseño, como crear columnas de contenido. Sin embargo, una vez declarados, tienen un efecto en el resto del flujo del documento que podría o no desear. Por ejemplo, digamos que queríamos incluir un párrafo después de un bloque de elementos de la lista de la izquierda flotante como el que teníamos arriba.
El resultado probablemente no será lo que esperabas:
La respuesta aquí es usar el claro propiedad, que hace que no puedan aparecer elementos flotantes en un lado determinado del elemento al que se aplica. Por ejemplo, digamos que nos dirigimos al segundo elemento de la lista en nuestra pequeña galería y aplicamos un valor de claro: izquierda?.
Lo que hace este código es decirle al navegador que la parte superior del segundo elemento de la lista debe estar debajo de la parte inferior de cualquier elemento flotante a la izquierda antes de él (en este caso, el primer elemento de la lista). Si todos hubiéramos flotado todos estos elementos a la derecha, habríamos tenido que usar claro: ¿verdad? en lugar.
Observe que después de esto, el resto de los elementos flotados mantienen su curso. Esto se debe a que todavía están configurados para flotar a la izquierda, la propiedad clear no cancela esto de alguna manera. Esto significa que nuestro problema con el párrafo no se soluciona al borrar cualquiera de los elementos de la lista.
En su lugar, lo que tiene que suceder es que el elemento de párrafo, que es un elemento de nivel de bloque que no se ha flotado, debe borrarse. Esto asegurará que aparezca debajo de los elementos flotados en lugar de junto a ellos.
Técnicamente, solo necesitábamos dejarlo en claro aquí, pero cuando un desarrollador quiere asegurarse de eliminar todos los flotadores, es una práctica común ver los ambos Valor utilizado. Este cambio solucionó nuestro problema muy bien!
Flotantes y arreglos claros
Hay una acción peculiar que tiene lugar cuando un elemento dado contiene solo elementos flotantes: la altura del elemento padre se colapsa. Para ilustrar esto, digamos que queríamos poner un color de fondo en la lista desordenada que hemos estado usando en todos nuestros ejemplos. Si los elementos de la lista no están flotando, entonces solo necesitamos aplicar el color al fondo usando CSS.
Como puede ver en el ejemplo a continuación, el cuadro que define la lista desordenada se ha vuelto gris y los elementos de la lista se apilan uno encima del otro.
Sin embargo, lo segundo que flotamos esos elementos de la lista, que UL solo contiene elementos flotantes, y así su altura se colapsa, dejando a un desarrollador novato preguntándose qué diablos pasó con su color de fondo.
Hay varias maneras de resolver este problema. La solución más fácil y sencilla es simplemente aplicar una altura explícita al elemento padre, que es la lista desordenada.
Como se puede ver, esto nos dio nuestra información de fondo. Sin embargo, esto rara vez es el curso deseable simplemente porque es más conveniente a largo plazo si la altura se calcula automáticamente en función del contenido. Si agregamos tres filas más de imágenes a nuestra lista ahora, esa altura no será adecuada.
Clearfix para el rescate
Aquí es donde el término? Aclarar solución ,? también escrito? clearfix ,? entra en juego. Los arreglos claros solucionan este problema de altura colapsable tradicionalmente mediante el uso de claro propiedad.
Lo que los desarrolladores solían hacer es crear un elemento vacío (a menudo un div) en su HTML en el mismo nivel que los elementos flotantes, luego aplicar una clase de? Clearfix? a ese contenedor vacío. De vuelta en CSS, a continuación, agregará clear the floats en el? Clearfix? propiedad.
Esto corrige inmediatamente el problema de la altura colapsada:
Dado lo que ya hemos aprendido, sabemos exactamente por qué este truco solucionó nuestro problema. La razón por la que se colapsó la altura es porque el padre solo contenía hijos flotantes. Ahora tiene un hijo, aunque está vacío, que no flota, por lo que la altura automática funciona como se espera de nuevo.
El problema con este método es que a nadie le gustó ese elemento extra feo en el HTML. Simplemente no era semántico, lo que significa que no ayudaba a comunicar la clara jerarquía de la página.
La nueva solución sofisticada para este problema es aprovechar las ventajas de rebosar propiedad, que rige la funcionalidad del contenido que se extiende más allá de los límites de su caja contenedora. Resulta que si configura desbordamiento a oculto o auto en el elemento padre, corrige el colapso de altura!
Esta es definitivamente la solución más breve y elegante para solucionar el problema de la altura colapsada y debe ser su estrategia a seguir. Dicho esto, habrá casos en los que desee que el desbordamiento de un elemento se configure en visible, que deberias hacer entonces?
La respuesta es usar el Micro Clearfix Hack de Nick Gallagher, que usa algunos genios CSS para solucionar este problema. Primero, usa: antes y: después para agregar un contenido que podemos usar para crear algo en el padre que no está flotando. Sin embargo, realmente no desea contenido aquí, por lo tanto, lo dejamos vacío, pero configuramos la pantalla en la tabla para crear una celda anónima (vacía y no ocupa espacio) y, finalmente, utilizamos a nuestro viejo amigo. Esto crea el elemento de nivel de bloque invisible que necesitamos para corregir el colapso de altura sin marcas HTML adicionales. Las versiones anteriores de IE requieren su propia solución, por lo que también se incluye.
Conclusión
En este artículo, repasamos una tonelada De gran información, tanto básica como complicada. Comenzamos con una discusión de qué son las flotillas y cómo funcionan en un nivel básico, luego procedimos a ver cómo la configuración de un elemento para flotar afecta los recuadros limítrofes de los elementos involucrados para que pueda averiguar correctamente cómo hacer que funcionen sus márgenes. usted quiere que ellos
A continuación, pasamos a las reglas básicas que gobiernan la posición de un elemento flotado y llegamos a algunas conclusiones interesantes sobre cómo se posicionarán los elementos flotantes de diferentes alturas y cómo los elementos flotantes de la derecha aparecen en orden inverso.
Finalmente, presentamos claramente la historia completa de cómo un padre que solo tiene hijos flotantes tendrá una altura colapsada y cómo puede resolverlo en función de su situación particular.
Si las carrozas fueron algo que te confundió antes de leer este artículo, únete al club. Nos confunden a todos al principio. Esperemos que ahora tenga un conocimiento excepcional de cómo funcionan los flotadores y cómo puede usarlos para lograr el diseño que desee. Deje un comentario a continuación y háganos saber si esta información le resultó útil.