Buttons

Botones

Actualizado el 14/03/2024

Los botones son elementos interactivos que ejecutan una acción primaria. Los botones textuales son empleados para ofrecer opciones de navegación.

<> Código
× Ocultar Código
  • HTML
  • JS
<button class="ulpgcds-btn ulpgcds-btn--primary">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--secondary">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--text"><span class="ulpgcds-btn__icon ulpgcds-icon-ulpgc"> </span>Con icono a la izquierda</button>
<
button class="ulpgcds-btn ulpgcds-btn--icon"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--ghost"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button

Variantes

Estas son las diferentes variaciones que pueden ser empleadas en los botones en función de las necesidades que presente la interfaz.

Botones con icono y texto

<> Código
× Ocultar Código
  • HTML
  • JS
<button class="ulpgcds-btn ulpgcds-btn--primary"><span class="ulpgcds-btn__icon--left ulpgcds-icon-ulpgc"></span>Con icono a la izquierda</button>
<
button class="ulpgcds-btn ulpgcds-btn--primary">Con icono a la derecha<span class="ulpgcds-icon--right ulpgcds-icon-arrow-right"></span></button>
<
button class="ulpgcds-btn ulpgcds-btn--secondary"><span class="ulpgcds-btn__icon--left ulpgcds-icon-ulpgc"></span>Con icono a la izquierda</button>
<
button class="ulpgcds-btn ulpgcds-btn--secondary">Con icono a la derecha<span class="ulpgcds-icon--right ulpgcds-icon-arrow-right"></span></button

Colores invertidos

<> Código
× Ocultar Código
  • HTML
  • JS
<button class="ulpgcds-btn ulpgcds-btn--primary ulpgcds-btn--reverse">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--secondary ulpgcds-btn--reverse">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--text ulpgcds-btn--reverse"><span class="ulpgcds-btn__icon ulpgcds-icon-ulpgc"> </span>Con icono a la izquierda</button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--reverse"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--ghost ulpgcds-btn--reverse"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button

Botones pequeños

<> Código
× Ocultar Código
  • HTML
  • JS
<button class="ulpgcds-btn ulpgcds-btn--primary ulpgcds-btn--small">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--secondary ulpgcds-btn--small">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--text ulpgcds-btn--small"><span class="ulpgcds-btn__icon ulpgcds-icon-ulpgc"> </span>Con icono a la izquierda</button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--small"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--ghost ulpgcds-btn--small"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button

Botones de alerta

<> Código
× Ocultar Código
  • HTML
  • JS
<button class="ulpgcds-btn ulpgcds-btn--primary ulpgcds-btn--alert">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--secondary ulpgcds-btn--alert">Esto es un botón</button>
<
button class="ulpgcds-btn ulpgcds-btn--text ulpgcds-btn--alert"><span class="ulpgcds-btn__icon ulpgcds-icon-ulpgc"> </span>Con icono a la izquierda</button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--alert"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button>
<
button class="ulpgcds-btn ulpgcds-btn--icon ulpgcds-btn--ghost ulpgcds-btn--alert"><span class="ulpgcds-btn__icon ulpgcds-icon-campus"> </span><span>Campus</span></button

Uso del componente

Existen múltiples tipo de botones con uso definidos según la necesidad de la interfaz:

El botón primario está destinado para la acción más importante de una página o una vista. Para que el botón primario cumpla con su función correctamente, es importante emplearlo únicamente para una o dos acciones por página, como máximo.

El botón secundario está destinado a acciones de menor importancia dentro de una página o vista que ya contenga un botón primario.

El botón textual, cuya apariencia es similar a un enlace, se emplea para ofrecer opciones de navegación dentro de la interfaz. Por defecto viene acompañado del icono en forma de flecha. Si fuese necesario se podría omitir o sustituir dicho icono, así como invertir el orden de sus elementos.

Buenas prácticas

  • Para mantener una jerarquía adecuada, no emplee más de un botón primario por página o vista:
Image
Uso incorrecto: dos botones primarios seguidos
Image
Uso correcto: un botón primario y otro secundario en la misma vista
  • El texto en el botón debe hacer referencia la acción que va a ocurrir al pulsarlo.
  • En caso de necesitar alinear varios botones, el botón primario siempre va a la derecha del conjunto.
  • Los iconos empleados en los botones deben estar directamente relacionados con la acción que el usuario está llevando a cabo.
  • No modifique los colores de los botones.
  • Los botones de alerta se deben emplear, únicamente, para acciones que son difíciles o imposibles de deshacer. 
  • Evite que el tamaño del botón pase a dos líneas:
Image
Uso incorrecto: el texto del botón pasa a dos líneas en el espacio del botón
Image
Uso correcto: el texto del botón ocupa una única línea

Estilos CSS

Estas son las clases aplicadas a las etiquetas HTML para conseguir los diferentes estilos.

Selector CSSDescripción
.ulpgcds-btnAplica los estilos generales para los botones
.ulpgcds-btn--primaryAplica los estilos para el botón primario
.ulpgcds-btn--secondaryAplica los estilos para el botón secundario sobre
.ulpgcds-btn--textAplica los estilos para el botón textual
.ulpgcds-btn--iconAplica los estilos básicos al icono del botón textual
.ulpgcds-btn--ghostAplica estilos el botón de icono a su versión transparente
.ulpgcds-btn--smallAplica estilos para una versión del botón más pequeña
.ulpgcds-btn--reversePara cuando el botón irá en un fondo de color distinto de blanco
.ulpgcds-btn__iconPara cuando el botón posee texto e icono en su interior
.ulpgcds-btn__icon--rightPara cuando el botón posee texto e icono en su interior a la derecha

Diseño

En esta sección se pueden ver los aspectos que presenta el componente para las diferentes pseudoclases relativas a la interacción con el mismo. Estos estilos siguen los mismos patrones de interacción que el resto de los componentes del Design System, por lo que su modificación puede afectar a la consistencia del sistema y a la experiencia de los usuarios

Image
Especificaciones de diseño de los botones de la ULPGC
Estado del componente
Estable