9 trucos de CSS que seguramente has pasado por alto

Hay un montón de snippets CSS que los desarrolladores web utilizan para lograr ciertos resultados, y luego hay ciertos truquillos de CSS que se pueden aplicar para cosas como la alineación de contenido verticalmente. Al ser CSS una entidad en constante evolución, una y otra vez tropezamos con trucos de CSS frescos que son divertidos y que deberíamos conocer. En el artículo de hoy, te mostramos 10 de esos trucos CSS que te sorprenderán por lo fabulosos que son.

Escribir verticalmente

Hay un atributo de CSS llamado writing-mode que acepta uno de estos tres valores: horizontal-tb, vertical-lr y vertical-lr. horizontal-tb es el valor por defecto y hace que el texto se muestre como lo leemos habitualmente, es decir, de izquierda a derecha. Los valores vertical- *, sin embargo, son para mostrar el texto en un bloque vertical, haciendo que el texto se reproduzca de arriba a abajo en los navegadores. En vertical-rl, se añaden nuevas líneas a la izquierda si seguimos escribiendo y viceversa para vertical-lr.

Esto es muy útil para la visualización de idiomas como el japonés que, normalmente, se suele escribir de arriba a abajo y también para cuando se desea mostrar texto de manera vertical para ahorrar espacio horizontal, como en los encabezados de una tabla, tal y como te mostramos en el Codepen de a continuación.

Nota: Si deseas controlar la dirección de las letras individualmente, puedes utilizar text-orientation.

-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;

Reusar color

El valor currentcolor coge el valor del atributo color y puede ser usado en otros atributos que aceptan valores de color como por ejemplo background.

div{
     background: linear-gradient(90deg, currentColor 50%, black 50%);
     ...
     color: #FFD700;
     /* currentColor es #FFD700 */
  }

Mezclar fondos

Un elemento puede tener más de un fondo (un background color y múltiples background images). El background-blend-mode los mezcla todos ellos para generar un modo nuevo, que se denomina blend mode. Hay un total de 16 blend modes por el momento.

background-blend-mode: difference;

Mezclar elementos

mix-blend-mode mezcla los contenidos y los fondos para solapar elementos. Chrome no parece soportar todos estos modos, pero navegadores como Firefox si.

mix-blend-mode: color;

He cogido dos elementos, un img para mostrar la imagen de una rosa y un span con un gráfico de fondo. Los mezclo, tal y como puedes ver en la demo de abajo, y se les aplica un mix-blend-mode.

Decorar split boxes

Normalmente, cuando una caja se divide (como cuando se rompe un elemento en línea), los bordes de las partes divididas están desprovistos de cualquier estilo de la caja. Para evitar eso, puedes utilizar box-decoration-break:clone.

Nota: A pesar de que el moderno IE soporta box-decoration-break, el borde de la parte dividida la representación no es suave y el fondo parece hecho rodajas. Pero sí que rinde bien box-shadow, por eso usé sombras en la caja caja tanto para en el borde como en el fondo. También hay una ausencia de padding horizontal en los bordes de IE que puedes utilizar para rellenar con espacios.

Collapsar elementos de una tabla

visibility: collapse es un atributo creado para el control de elementos de las tablas, como filas y columnas. Si se utiliza en cualquier otro elemento se comportará como visibility:hidden. Chrome lo trata como hidden también para elementos de tabla. Al asignar la visibility:collapse en un elemento de la tabla, se oculta y su espacio es rellenado por el contenido cercano. A diferencia del display:none, que modifica la disposición de la tabla después de quitar el espacio, el diseño sigue siendo el mismo con visibility:collapse. Puedes ver cómo funciona en más detalle aquí:

Crear columnas

Puedes crear el diseño de una columna para tus contenidos utilizando el atributo columns. Te permite especificar el número de columnas (column-count) y cuánto tienen de ancho (column-width) para ser mostradas en un tus propios proyectos. Si el contenido no es de texto, como por ejemplo una imagen, tienes que tener en cuenta su anchura para que no se descuadre en la columna. Para el siguiente ejemplo, sólo he usado column-count para especificar el número de columnas que quiero mostrar.

-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;

Hacer elementos adaptables

Un elemento puede hacerse adaptable (verticalmente, horizontalmente o ambas) con el atributo resize de CSS3. La adaptabilidad en un textarea puede ser desabilitada usando lo mismo.

resize: vertical;
resize: horizontal;
resize: both;
resize: none;

See the Pen CSS Resize by Preethi (@rpsthecoder) on CodePen.

Crear patrones

Puedes tener varios gradientes en CSS3 (tanto lineales como radiales) para un solo elemento y pueden ser apilados unos sobre otros para crear patrones. Esto nos permite crear fondos agradables para elementos sin usar imágenes externas. Hacer que funcione es un poco más complicado, pero hacerse se puede hacer.

Estos han sido los 9 trucos de CSS que seguramente has pasado por alto. Esperamos que te hayan gustado y sepas aplicarlo al diseño de tus futuros proyectos. ¿Cuál de estos trucos te ha gustado más?

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP