Block frente a Inline e Inline-Block
Comprenda las diferencias entre los comportamientos de visualización block, inline e inline-block.
Block frente a Inline e Inline-Block es una lección gratuita de CSS Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CSS Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CSS Academy incluye 4 lecciones en total.
La propiedad display
La propiedad display es una de las más fundamentales de CSS. Determina cómo participa un elemento en el flujo del diseño: si crea una caja de nivel de bloque, una caja en línea o algo intermedio.
Elementos de bloque
Los elementos de bloque comienzan en una línea nueva y se expanden para ocupar todo el ancho de su contenedor. Puede establecer el ancho, la altura, el margen y el padding en todos sus lados.
Elementos de bloque predeterminados: div, p, h1-h6, section, article.
<div>I'm a block element — full width, centered.</div>
Elementos en línea
Los elementos en línea fluyen dentro del texto. No comienzan en una línea nueva. Establecer width o height no tiene ningún efecto. El margen superior e inferior se ignora; los márgenes y el padding horizontales funcionan.
Elementos en línea predeterminados: span, a, strong, em, img.
<p>This is <span>an inline span</span> inside a paragraph.</p>
Elementos inline-block
display: inline-block es un híbrido. Los elementos fluyen en línea, sin forzar un salto de línea, pero admiten ancho, altura y todas las propiedades del modelo de cajas, como los elementos de bloque.
<a class="btn" href="#">Click Me</a>
inline-block para la navegación
Antes de Flexbox, inline-block se utilizaba para las barras de navegación horizontales. Un inconveniente es que los espacios en blanco del código fuente HTML crean pequeños huecos entre los elementos.
<ul><li>Home</li><li>About</li><li>Contact</li></ul>
Eliminación del espacio entre elementos en línea
El espacio entre elementos inline-block se puede eliminar estableciendo font-size: 0 en el elemento padre y restaurándolo en los hijos, o eliminando los espacios en blanco del HTML.
<ul><li>One</li><li>Two</li><li>Three</li></ul>
Sustitución de inline-block por Flex
En el CSS moderno, establecer display: flex en el elemento padre es la forma preferida de conseguir diseños horizontales sin problemas de espacios en blanco. inline-block sigue siendo útil para dimensionar un único elemento.
Cambio de display
El tipo de display de cualquier elemento se puede cambiar con CSS. Esto se usa habitualmente para dar forma de botón a los enlaces o disponer horizontalmente los elementos de una lista.
<a class="button" href="#">Button</a>
<ul><li>Item 1</li><li>Item 2</li></ul>
Valores de display para tablas
CSS proporciona display: table, display: table-row, display: table-cell, etc., para aplicar un diseño de tabla a elementos que no son tablas. Hoy en día se necesitan rara vez, pero son útiles para centrar verticalmente en contextos antiguos.
Raíz del flujo: display: flow-root
display: flow-root crea un nuevo contexto de formato de bloque sin los efectos secundarios de overflow: hidden. Elimina los elementos flotantes y evita que el colapso de márgenes se propague fuera de un contenedor.
<div class="clearfix">Contains floated children without collapsing.</div>
Cajas anónimas
Cuando se mezclan elementos de bloque y en línea como elementos hermanos, el navegador envuelve el contenido en línea huérfano en cajas de bloque anónimas. Este comportamiento es invisible, pero explica cambios inesperados en el diseño.
Comprobación rápida
¿Qué valor de display permite establecer width y mantener el elemento en el flujo en línea?
Resumen
Los elementos de bloque ocupan todo el ancho y comienzan en una línea nueva. Los elementos en línea fluyen con el texto e ignoran width y height. inline-block combina ambas características: fluye en línea, pero acepta ancho y altura. Los diseños modernos prefieren Flexbox y Grid a las cuadrículas creadas con inline-block.
Preguntas frecuentes
¿La lección «Block frente a Inline e Inline-Block» es gratis?
Sí — el texto completo de «Block frente a Inline e Inline-Block» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CSS Academy, actualiza a CoddyKit PRO. El curso de CSS Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Block frente a Inline e Inline-Block»?
Comprenda las diferencias entre los comportamientos de visualización block, inline e inline-block. Practicas CSS Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar CSS Academy?
No se requiere experiencia previa. CSS Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Block frente a Inline e Inline-Block»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de CSS Academy?
Sí. Cada lección de CSS Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Block frente a Inline e Inline-Block
- Visibility frente a Display None
- Overflow: Scroll, Clip y Auto
- Restablecimiento y normalización de CSS