Code Monkey home page Code Monkey logo

css-03-display-basico's Introduction

Ejemplo display

Para entender más en profundidad este ejemplo recomendamos ver este video.

Configuración del atributo display

En este breve ejemplo vamos a aprender conceptos básicos de posicionamiento y a jugar un poco con ellos.

Elementos de bloque

Si repasamos la definición de nuestro HTML

  <p>
    Bienvenides a un <em>nuevo</em> video de <strong>Diseño para todys</strong>
  </p>

  <p>
    <a href="">Mi página web</a> es divertida
  </p>

  <div>
    En esta oportunidad vamos a ver cómo funciona mucho contenido mucho contenido mucho contenido
  </div>

  <section>
    la configuración display block y display inline.
  </section>

vemos que los tres elementos principales son un <p> (paragraph) y un div (contenedor) y ambos tienen la configuración display con el valor block, definida por defecto por el navegador o user agent.

display block

Un elemento de bloque forma justamente un bloque que toma el ancho de su contenedor. Los navegadores insertan un salto de línea entre los elementos anterior y siguiente.

Recordá que habilitando las herramientas de desarrollador con F12, podés ver el layout de cada elemento.

Los navegadores definen los siguientes tags HTML con la configuración display: block por defecto.

Elementos de línea

Por otra parte, vemos que el tag <a> (anchor, el link) no define un bloque sino que se ubica en la misma línea que el contenido que está antes y después. La configuración display: inline hace que los elementos se ubiquen en forma contigua, respetando la separación adicional que definan padding, border o margin.

<a href="">Mi página web</a> es divertida

display inline

Inline-block

Si queremos tener los primeros dos contenedores en la misma línea, podríamos pensar en tener la propiedad display: inline pero eso haría que queden pegados. La propiedad width no produce ningún efecto, porque el tamaño del contenedor es el que le corresponde en base al contenido. Pero existe la opción inline-block que hace que los elementos se ubiquen uno al lado del otro con un tamaño customizable:

display inline-block

None

Si queremos que un elemento no se visualice, lo configuramos con display: none. El elemento no ocupará espacio, al contrario de lo que pasa cuando lo definimos como visibility: hidden, como nos cuenta este artículo.

Material adicional

Posicionamiento

Por lo general trataremos de que nuestros elementos se dispongan en un layout semi-automático, de manera que un agregado o un cambio en algún elemento no desacomode toda la página, entonces nos alcanzará con modificar la propiedad display (en estas variantes básicas o bien flex / grid que aprenderemos más adelante). Para algunos otros casos vamos a necesitar configuraciones extras como las que veremos a continuación.

Static

Por defecto la posición es static, esto significa que un elemento se ubicará en la siguiente línea si tiene el atributo display block, o inmediatamente a la derecha si tiene el atributo display inline (más adelante veremos otras formas de configurar el display). Si queremos modificar las propiedades left, right, top, bottom o z-index, no tiene efecto.

cambios a un div con position static

Fixed

Parad definir headers o footers de una página utilizamos la configuración fixed, como vemos en este video (la propiedad bottom lo posiciona al fondo):

definir footer

Si querés crear un sticky footer podés leer este artículo.

Relative

Si cambiamos la posición a relative, el elemento toma como referencia el lugar que le corresponde dentro de la página. Si modificamos las propiedades top, left, bottom o right, se desplaza desde la posición que ocupa actualmente (si hacemos modificaciones en la página, se posiciona en la nueva ubicación donde debe aparecer). También podemos trabajar con la propiedad z-index para definir qué elemento se ubica encima de otro.

position relative

Position absolute + Z-Index

Si definimos un div nuevo con position: absolute y lo ubicamos como hermano de los 3 divs anteriores, se posiciona en un punto absoluto dentro de la página. Si por el contrario su contenedor es un elemento definido con position: relative, se utilizará como referencia para las propiedades top, left, bottom y right:

position absolute

En caso de colisiones entre elementos, nuevamente podemos trabajarlo con la propiedad z-index.

Twitter es servicio

Para entender el z-index gráficamente: https://twitter.com/_UmairHafeez_/status/1435116506162081796

Material adicional

Les dejamos material adicional para profundizar:

css-03-display-basico's People

Contributors

fdodino avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.