Modo de escritura vertical de CSS para elementos de control de formularios

Di Zhang
Di Zhang

Se lanzará una nueva función internacional de CSS de nivel 4 de los modos de escritura de CSS desde Chrome 119 a 123. El modo de escritura vertical para los elementos de control de formulario significa que estos elementos se pueden mostrar en modos de escritura vertical. En Chrome 123, la función se habilitará para todos los usuarios. En esta publicación, se explica la función.

Modo de escritura vertical para elementos de control de formulario basados en texto

Una vez que esta función esté completamente habilitada, será posible usar modos de escritura vertical para elementos de control de formularios, como botones, listas de selección y elementos de progreso. Para usarlo, establece el modo de escritura de la propiedad CSS en vertical-lr para la dirección de flujo de bloques de izquierda a derecha y vertical-rl para la dirección de flujo de bloques de derecha a izquierda.

Esto es útil para muchos idiomas del este de Asia que tradicionalmente usan alfabetos verticales para escribir. Por ejemplo, el japonés tradicional a menudo se escribe verticalmente de derecha a izquierda.

Ejemplo de modos de escritura vertical

Estos son algunos ejemplos internacionalizados de controles de formulario verticales.

Botones

<html lang="zh">

<button>请点击</button>
button {
  writing-mode: vertical-rl;
}

Un botón con texto vertical.

Elementos <select>

Puedes especificar que un elemento <select> muestre todo el texto verticalmente.

select {
  writing-mode: vertical-lr;
}
<select multiple>
  <option>日本語  
  <option>中文
  <option>English
  <option>français
  <option>فارسی
</select>

<select>
  <option>日本語  
  <option>中文
  <option>English
  <option>français
  <option>فارسی
</select>

Una lista de selección con texto vertical.

Ten en cuenta que la implementación actual aún tiene las opciones de la ventana emergente que se muestran horizontalmente.

Entradas basadas en texto

En el caso de muchos controles de formulario basados en entradas de texto, ahora es posible usar un modo de escritura vertical cuando se ingresa texto.

textarea {
  writing-mode: vertical-rl;
  width: 5em;
  height: 20em;
}
<textarea>
古池や蛙飛び込む水の音
ふるいけやかわずとびこむみずのおと
</textarea>

Un área de texto con texto vertical.

Controles deslizantes

También puede ser útil mostrar visualmente el valor de un elemento de formulario. Eso es lo que hacen los controles deslizantes, como <meter>, <progress> y <input type=range>.

Una variedad de controles deslizantes

Anteriormente, solo se podía renderizar <range> verticalmente con el valor de apariencia CSS no estándar slider-vertical. Ahora, los tres se pueden mostrar verticalmente con la propiedad writing-mode del CSS.

input[type="range"], meter, progress {
  writing-mode: vertical-lr;
}

Los controles deslizantes se muestran de forma vertical.

De forma predeterminada, la dirección de CSS se establece en ltr. Esto significa que los valores se renderizarán de arriba abajo. Puedes especificar la dirección del valor para que sea de abajo hacia arriba configurando la dirección como rtl.

input[type="range"], meter, progress {
  writing-mode: vertical-lr;
  direction: rtl;
}

Los controles deslizantes se muestran verticalmente de abajo hacia arriba.

Hay un experimento para cambiar la dirección del valor en Chrome 122. Comunícate con nosotros si tienes comentarios.

Interactúa y comparte comentarios

Para compartir comentarios sobre estas funciones, informa un problema en crbug.com.