πŸ‘¨β€πŸ’»
Coding Library
  • πŸ‘¨β€πŸ’»Coding Library
  • πŸ‘ΎLinux
    • Basic Commands
    • Other commands
      • Ls
      • Mv
      • Chmod
      • Ln
      • Cat
      • Wc
      • Grep
      • Sed
      • Find
    • Sistema de ficheros
      • Inodos
  • πŸ“¦Git
    • Page 3
  • πŸ–ŠοΈVim
    • Vim Basics
      • Gramatica de Vim
      • Moviendote por un archivo
    • Todo y mas
  • πŸ›οΈC
    • Estructuras de datos
      • Listas Enlazadas
      • Colas
      • Pilas
      • Arboles
    • Valgrind
    • Operadores de bits
    • Procesos e Hilos
      • Fork
      • Wait
      • Waitpid
      • SemΓ‘foros
      • Estructura sigaction
      • Signals
    • MiniLibX
      • Ventanas (windows)
      • Imprimir Pixels
      • Imagenes
      • Colores
      • Eventos
      • Loops (bucles)
      • Leer imagenes
    • Readline
    • Funciones
      • opendir
      • access
    • Network Programming
      • Structs
      • Llamadas al sistema
      • Synchronous I/O Multiplexing
        • kqueue
  • πŸŒƒC++
    • Clases
      • Herencia
      • Shallow and deeps copies
      • Clases abstractas y Interfaces
      • Reasignar operadores
    • Punteros y referencias
    • Manejo de ficheros
    • Punteros a funciones
    • Excepciones
    • Casting
    • Templates
    • Templated Containers
      • Iterators
      • std::vector
      • std::list
      • std::map
  • 🧠Pyhton
    • Sintaxis basica
    • Scripts
    • Tipos de datos
      • Listas
      • Set
      • Diccionarios
      • Generadores
    • Estructuras de control
      • Iterar con For
      • Iterar con zip
      • Iterar con enumerate
    • Map, Filter and Reduce
    • Funciones
    • Clases
      • Metodos
      • Herencia
    • Formateo con {} y format()
    • Decoradores
  • πŸ“¦JAVA
    • Conceptos basicos
    • Programacion estructurada
    • Clases predefinidas
    • POO
      • Clases
      • Herencia
      • Polimorfismo
      • Abstraccion
      • Encapsulacion
    • ArrayList
    • Excepciones
  • βš’οΈHTML
    • HTML Basics
    • Elementos de bloque
      • Titulos y parrafos
      • Header, Main y Footer
      • Section, article y aside
    • Elementos en lΓ­nea
    • Atributos
    • Enlaces <a>
    • Listas
    • Tablas
    • Formularios
      • Input
      • Select y datalist
      • GET y POST
    • Contenido embebido
      • Imagenes
      • Audio y video
      • Iframe
  • 🎨CSS
    • Introduccion
    • Selectores
    • Como funciona CSS
    • Box Model
    • Desbordamiento y Colapso de margenes
    • Display
    • Position
    • Medidas absolutas y relativas
  • 🟑JavaScript
    • Promesas
    • Async/Await
  • πŸ“²Svelte
    • Componentes
    • Reactividad
    • Directivas
    • Eventos
  • πŸ–₯️Sistemas
    • Particiones
  • πŸ•ΈοΈRedes
    • IP Adress
    • Subnet Mask
  • πŸ•·οΈWeb Scrapping
    • Scrapy
      • Spiders
        • CrawlerSpider
      • Process data
      • Save data
        • CSV y JSON
        • SQLite
    • Splash
    • Selenium
Powered by GitBook
On this page
  • display: inline
  • display: block
  • display: inline-block
  • Bibliografia
  1. CSS

Display

PreviousDesbordamiento y Colapso de margenesNextPosition

Last updated 2 years ago

Antes de comenzar, debemos saber que cada etiqueta HTML tiene un Β«tipo de representaciΓ³n visualΒ» en el navegador, lo que habitualmente se suele denominar el tipo de caja. Si no sabes nada sobre esto, te aconsejo echarle un vistazo antes al apartado .

Recordemos que, por defecto, cada elemento HTML tiene un tipo de representaciΓ³n concreto. Como norma general (con excepciones) los elementos que se utilizan dentro de un pΓ‘rrafo, son de tipo inline, mientras que los que se utilizan para agrupar, son de tipo block. La propiedad display de CSS permite modificar el comportamiento de un elemento HTML, cambiΓ‘ndolo al que le indiquemos, como por ejemplo inline o block (u otro de los que veremos mΓ‘s adelante).

Esta propiedad puede tomar muchos valores diferentes, pero los mΓ‘s comunes son estos tres:

  • block: hace que el comportamiento del elemento sea como un bloque.

  • inline: el elemento se renderizarΓ‘ en lΓ­nea con otros elementos.

  • inline-block: el elemento tendrΓ‘ un comportamiento mezcla entre los dos anteriores, que ahora voy a describir.

Estos se utiliza para alterar el flujo noramle de una pagina web. En el queso de que no seppas lo que es el flujo normal, la documentaciΓ³n de la MDN define el flujo normal de la siguiente manera:

El flujo normal, o flow Layout, es la forma en que los elementos de bloque y en lΓ­nea se muestran en una pΓ‘gina antes de que se realicen cambios en su diseΓ±o.

display: inline

Los elementos en lΓ­nea no admiten dimensiones (width, height) pero si admiten margin, padding y border, solo ocupan lo que tengan en su contenido, es decir, aunque quieras declarar un ancho y alto a un elemento de lΓ­nea no podrΓ‘ tener efecto ya que estos elementos no aceptan dimensiones, asΓ­ tambiΓ©n lo explica la documentaciΓ³n de la MDN:

Aunque puedas aplicarle margin, padding y border a un elementos en linea tiene algunas pegas:

  • Si el padding o el border es muy grande, ese este no respetara los elementos de bloque, se los comera. Sin embargo si respeta los elementos en linea

  • Si se solapa con margenes de los elementos en bloque, los de bloque ganara, es decir se superponeran.

Si hay varios elementos en lΓ­nea estarΓ‘n colocados de izquierda a derecha (uno al lado de otro).

Por ejemplo, el elemento HTML <span> es un elemento de lΓ­nea por defecto y no importa cuΓ‘ntas etiquetas <span> haya, siempre aparecerΓ‘n en lΓ­nea o, en otras palabras, una inmediatamente despuΓ©s de la otra, produciendo una cadena continua de texto.

 <span class="inline">Soy un elemento de linea</span>
 <span class="inline">Soy otro elemento de linea</span>
 <span class="inline">Soy otro elemento mΓ‘s de linea</span>
.inline {
    background-color: khaki;
}

display: block

Un elemento de bloque es un elemento que ocupa el ancho mΓ‘ximo disponible. Tal y como dice la documentaciΓ³n de la MDN:

De manera predeterminada, el contenido de un elemento de nivel de bloque es el 100% del ancho de su elemento padre y su altura viene determinada por su contenido.

Esto nos quiere decir que los elementos de tipo bloque abarcan el 100% del espacio que tengan disponible, es decir, se estiran por todo el ancho de la pΓ‘gina.

Cabe mencionar que estos elementos si admiten dimensiones pero no pueden tener otro elemento a su lado ya que abarcan todo el espacio que tengan disponible por lo tanto estarΓ‘n colocados de arriba hacia abajo.

 <p class="block">Soy un elemento de bloque</p>
 <p class="block">Soy otro elemento de bloque</p>
 <p class="block">Soy otro elemento mΓ‘s de bloque</p>
.block {
    background-color: khaki;
}

display: inline-block

Es una combinaciΓ³n entre los dos tipos de elementos mencionados anteriormente (block e inline), los elementos con el valor inline-block admiten dimensiones pero todavΓ­a son elementos de lΓ­nea, es decir estarΓ‘n colocados uno al lado de otro.

Ele elemento <img> es un elemento con la propiedad display: inline-block;

<div class="block"> Bloque 1 </div>
<div class="block"> Bloque 2 </div>
.block{
  background-color: lightblue;
  width: 100px;
  height: 100px;
  margin: 5px;
  padding: 5px;
  display: inline-block;
}

Bibliografia

🎨
https://www.campusmvp.es/recursos/post/Que-diferencias-hay-entre-display-block-inline-e-inline-block-en-CSS.aspx
Mejor pagina
https://lenguajecss.com/css/maquetacion-y-colocacion/propiedad-display/
https://keepcoding.io/blog/propiedad-display-en-css/
Modelo de cajas