Ir al contenido principal

Destacado

Javascript | Proxy

Proxy Esta entrada continua con el tema de patrones de diseño y en esta ocasión vamos a examinar el patron Proxy y algunas de sus ventajas. Descripción. El proxy es un patrón de diseño, de tipo estructural y consiste en definir un objeto/componente (sustituto) por medio del cuál controlamos el acceso a otro (original). Esto nos permite agregar funcionalidad adicional así como simplificar la interacción con el objeto original. Ejemplo. RealSubject : es el objeto que nuestro Proxy va a "sustituir. Tiene 2 métodos: connect y disconnect Proxy : es el objeto que controla el acceso a RealSubject . Internamente crea una referencia de RealSubject y hace las llamadas a los métodos correspondientes. La clase mantiene la misma interfaz (connect y disconnect) pero añade funcionalidades extras ( fireBeforeConnectEvent y fireAfterConnectEvent ) así como un control de errores (try/catch). Con este patron podemos agregar funcionalidades que necesitemos en nuestro proyecto sin tener que modifi

Flexbox | Posicionar flex items a la derecha/izquierda

Esta es probablemente una de las situaciones con las que más me  he topado a la hora de armar layouts y gracias a flexbox implementarlo es bastante sencillo.

El secreto está en los márgenes automáticos:

Cada que aplicamos un auto margen a un flex item, su margen ocupa todo el espacio disponible (extra) del contenedor flex, dependiendo de la dirección donde apliquemos dicho margen.


Veámoslo en acción:
<div class="flex">
  <div class="child">
   Item 1
  </div>
</div>
.flex {
  display: flex;
  height: 300px;
}

.child {
  margin-left: auto;
  height: 25px;
  border: 1px solid #ccc;
  padding: 5px;
}
Como podemos observar el flex item se posicionó a la derecha, ya que su margen izquierdo se extendió para ocupar todo el espacio disponible dentro del contenedor flex.

Si quisiéramos hacer lo contrario, es decir posicionar el flex item a la izquierda lo haríamos de la siguiente manera:
.child {
  margin-right: auto;
  height: 25px;
  border: 1px solid #ccc;
  padding: 5px;
}

Este ejemplo no es tan claro ya que solo tenemos 1 flex item pero las cosas se ponen interesantes conforme agregamos mas flex items o la aplicamos a otros márgenes como el margin-top o incluso a todos (margin: auto).


Puedes jugar un poco y ver los resultados:



Espero que les haya sido útil,  See you space cowboy!

También si les interesa pueden hecharle un ojo a la serie sobre flexbox layouts

Comentarios

Entradas populares