¿Cuál es la diferencia entre las cuadrículas CSS, Flex Box y las cuadrículas proporcionadas por marcos como Bootstrap? Estoy tan confundida.

Marcos

Los marcos como Bootstrap o Foundation se basan principalmente en el uso de alguna estructura auxiliar de HTML basada en filas y columnas, diseñada con clases especiales de CSS proporcionadas por el marco. Utiliza diferentes clases para obtener el resultado que necesita, como elegir un espacio entre columnas, número de columnas, si abarcan todo el ancho de pantalla, capacidad de respuesta, etc. Tenga en cuenta que esos marcos en versiones más nuevas pueden introducir algún soporte para más cuadrículas nativas CSS / métodos de diseño que se describen a continuación.

Los marcos, por supuesto, también proporcionan muchas otras cosas, como un estilo básico de los elementos utilizados más comunes.

Cuadrículas CSS, flexbox, diseños

Desde hace algún tiempo tenemos soporte para técnicas de diseño más modernas en CSS. Dependiendo del navegador y la versión, puede variar, como sucedió hace algún tiempo con border-radius o box-shadow.

Esos nuevos métodos de diseño permiten escribir menos código HTML repetitivo para lograr el mismo efecto. También podemos usar menos hack CSS, por ejemplo, para centrar el elemento verticalmente o lograr un efecto de diseño más personalizado. Hay más potencia disponible en el lado de CSS, donde podemos controlar cómo se debe representar un grupo de elementos en el contexto de cada uno y el elemento contenedor.

Más al respecto

Lea los documentos y tutoriales para obtener más información, ya que el alcance de la pregunta es muy grande. Hay buenos documentos disponibles en Mozilla Developer Network. También puede consultar sitios como CSS-Tricks. Para verificar la compatibilidad de los navegadores, use ¿Puedo usar … Tablas de soporte para HTML5, CSS3, etc.

La diferencia es el CSS que se está utilizando.

Los marcos de cuadrícula como Bootstrap le brindan una forma de definir anchos de bloque para permitir un diseño dinámico del contenido. Esto se hace con estilos antiguos de ‘ancho’ regulares, junto con lo que le permite funcionar; ‘flotar’ y ‘despejar’. Esos tres en combinación le permiten elegir qué tan ancho debe ser cada elemento. Esto se hizo antes de que existieran las cuadrículas y flexbox.

Las cuadrículas CSS y flexbox son tecnologías más nuevas. Utilizan el css ‘display: grid’ y algunos estilos específicos de cuadrícula. Esto le permite definir rígidamente líneas sobre su página a las que luego puede hacer referencia para hacer bloques de tamaños específicos. Este es un sistema más rígido que generalmente funciona bien para sitios de IU complejos.

cuadrícula-plantilla-columnas: 40px 50px auto 50px 40px;

Esto define 5 columnas en la página que luego pueden ser referenciadas para crear elementos de ciertos tamaños y posiciones.

Flexionar. Flexbox es otra nueva especificación que le dice al navegador que espacie elementos de una manera ‘inteligente’ dependiendo de cuánto espacio adicional haya disponible. Usted define cuánto debe crecer cada elemento (si hay espacio libre), reducirse (si no hay suficiente espacio) y qué tan grande debería ser para comenzar, y el navegador coloca y clasifica sus elementos por usted. Es muy flexible y puede verse descuidado sin la debida consideración, pero es muy potente.

Flex todavía no tiene (y probablemente nunca lo tendrá) soporte perfecto para el navegador si desea soportar IE, pero aparte de eso, es bastante bueno. Grid todavía se está abriendo camino en todos los navegadores, y los otros marcos de diseño se basan en CSS antiguos, por lo que todos deberían funcionar. Si quieres ir a lo seguro, quédate con bootstrap. Sin embargo, aventúrate y crea algunos sitios utilizando los otros. Si nunca los usa, no puede aprender a superar los errores e inconsistencias actuales.