Botones
Estados
El estado de un botón indica la condición interactiva actual del elemento, ya sea que esté listo para una acción del usuario o en un modo sin respuesta. Comprender estos estados garantiza una respuesta clara al usuario, destacando posibles acciones o barreras.
Nombre | Descripción | Recomendación |
---|---|---|
Default | Es el estado inicial o en el que se puede hacer clic de un botón, el que los usuarios ven cuando se carga una página. | Usa colores de alto contraste que cumplan con los estándares de accesibilidad. Asegúrate de que la etiqueta comunique claramente la función del botón. |
Hover | Este estado se activa cuando un usuario coloca el cursor sobre el botón sin hacer clic, lo que indica que se puede hacer clic en el elemento de la interfaz de usuario. | Cambia ligeramente el color o la altura para indicar que se puede interactuar con él. No hagas cambios drásticos; deben ser sutiles pero perceptibles. |
Active | Este estado aparece cuando el usuario hace clic en el botón, informando al usuario que el producto ha recibido la acción exitosamente. | Aplica un efecto visual, como un relleno de color o una sombra, para indicar que la acción se está procesando. Asegúrate de que el efecto se revierta cuando se suelte el clic. Puedes utilizar el mismo estolo que el Hover. |
Focus | Este estado se activa cuando la navegación del teclado u otra acción que no sea del usuario selecciona un botón, generalmente al cargar la página o después de completar una tarea específica. | Implementa un borde o contorno para indicar el enfoque. Este estado es crucial para la accesibilidad porque reducen el trabajo de los lectores de pantalla y los usuarios del teclado. Puedes utilizar el mismo estolo que el Hover. |
Deshabilitado | Este estado indica que un botón no está disponible para interactuar. Los usuarios generalmente deben completar otra acción (como los campos obligatorios de un formulario) antes de poder hacer clic en el botón. | Atenúa el botón y reduce su opacidad. Asegúrate de que sea visualmente distinto del estado predeterminado, pero no lo oculte por completo: los usuarios deben saber que existe esa opción pero que no está disponible por alguna razón. |
Tipos
Los estados mencionados se aplican a todos los tipos de botones, a continuación se enlistan los declarados para los Micrositios:
Nombre | Descripción | Diseño |
---|---|---|
Acción Principal | El botón de acción principal dirige a los usuarios a la acción o tarea más importante. | Botón |
Primario | Menos prominente pero aún importante, se utiliza para acciones alternativas que complementan la acción o tarea principal. | Botón |
Secundario | Menos enfatizado, generalmente para acciones o tareas de baja prioridad, a menudo aparece como texto simple. | Botón |
Deshabilitado | Representa visualmente un botón inactivo el cual no debe generar acción o tarea alguna. | Botón |
Código HTML:
<!-- Acción Principal -->
<a href="#;" class="btn btn-main-action">Botón</a>
<!-- Primario -->
<a href="#;" class="btn btn-primary">Botón</a>
<!-- Secundario -->
<a href="#;" class="btn btn-secondary">Botón</a>
<!-- Deshabilitado -->
<a href="#" class="btn btn-disabled" role="button" aria-disabled="true">Botón</a>
Tamaños
Manejamos un tamaño regular estándar y 4 variantes para ser usadas según la necesidad, espacio, ubicación y/o función para el que se requiera el botón. Se usa como ejemplo el botón Primario.
Código HTML, tomando como ejemplo el botón primario:
<!-- Extra Largo -->
<a href="#;" class="btn btn-extra-large btn-primary">Botón</a>
<!-- Largo -->
<a href="#;" class="btn btn-large btn-primary">Botón</a>
<!-- Regular -->
<a href="#;" class="btn btn-primary">Botón</a>
<!-- Pequeño -->
<a href="#;" class="btn btn-small btn-primary">Botón</a>
<!-- Muy Pequeño -->
<a href="#;" class="btn btn-very-small btn-primary">Botón</a>
Estilo Delineado
Manejamos el estilo delineado para los botones de Acción Principal y Primario, los cuales se pueden emplear sobre fondos claros u oscuros o sobre imágenes fotográficas.
Código HTML:
<!-- Botón Delineado Acción Principal -->
<a href="#" class="btn btn-outline-main">Main Action</a>
<!-- Botón Delineado Primario -->
<a href="#" class="btn btn-outline-primary">Primary</a>
Estilo con Sombra
Manejamos el estilo con sombra el cual se puede aplicar a cualquier tipo y tamaño de botón. El estilo se aplica agregando la clase correspondiente al botón deseado. Se usan como ejemplo el botón Primario y Secundario.
Código HTML:
<!-- Botón de Acción Principal con Sombra -->
<a href="#" class="btn btn-main-action btn-box-shadow">Main Action</a>
<!-- Botón Secundario con Sombra -->
<a href="#" class="btn btn-primary btn-box-shadow">Primary</a>
Estilo Animación de Ícono en Hover
Cuando un usuario coloca el cursor sobre el botón sin hacer clic se mostrará un icono a la derecha del texto. Se utilizan iconos de la librería de FontAwesome. El estilo se aplica a cualquier tipo y tamaño de botón. Se usa como ejemplo el botón de Acción Principal.
Nombre | Recomendación de uso | Diseño |
---|---|---|
Desplazarse hacia abajo | Cuando la navegación sea dentro de la misma página. | Conocer más |
Navegar en el mismo Micrositio | Cuando la navegación sea entre las páginas del mismo Micrositio. | Conocer más |
Navegar a un nuevo Micrositio | Cuando la navegación requiera de visitar un nuevo Micrositio o sitio Web. Asegurar que la página se abra en una nueva pestaña. | Visitar |
Descargar archivo | Cuando el enlace apunte a un archivo el cual puede ser formato PDF, Word, Excel, Imagen. Asegurar que el archivo se abra en una nueva pestaña. | Descargar |
Abrir PDF estilo Libro | Cuando el enlace apunte a la página donde se muestre el PDF con estilo de libro. Asegurar que la página se abra en una nueva pestaña. | Consultar |
Ver video | Cuando el enlace apunte a un video el cual puede reproducirse en una nueva página o un modal. Si es en una nueva página como YouTube, asegurar que se abra en una nueva pestaña. | Reproducir video |
Abrir modal | Cuando se requiera abrir un modal. Asegurar de incluir los "data-bs" necesarios. | Consultar |
Código HTML:
<!-- Desplazarse hacia abajo -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" >
<span>
<span class="btn-text me-2">Conocer más</span>
<span class="btn-icon"><i class="fa-solid fa-down"></i></span>
</span>
</a>
<!-- Navegar en el mismo Micrositio -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" >
<span>
<span class="btn-text me-2">Conocer más</span>
<span class="btn-icon"><i class="fa-solid fa-arrow-right"></i></span>
</span>
</a>
<!-- Navegar a un nuevo Micrositio -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" target="_blank" >
<span>
<span class="btn-text me-2">Visitar</span>
<span class="btn-icon"><i class="fa-solid fa-up-right-from-square"></i></span>
</span>
</a>
<!-- Descargar archivo -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" target="_blank" >
<span>
<span class="btn-text me-2">Descargar</span>
<span class="btn-icon"><i class="fa-solid fa-download"></i></span>
</span>
</a>
<!-- Abrir PDF estilo Libro -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" target="_blank" >
<span>
<span class="btn-text me-2">Consultar</span>
<span class="btn-icon"><i class="fa-solid fa-book-open"></i></span>
</span>
</a>
<!-- Ver video -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" target="_blank" >
<span>
<span class="btn-text me-2">Reproducir video</span>
<span class="btn-icon"><i class="fa-regular fa-circle-play"></i></span>
</span>
</a>
<!-- Abrir modal -->
<a href="#;" class="btn btn-main-action btn-box-shadow btn-hover-animation md-mx-auto" data-bs-toggle="" data-bs-target="#" >
<span>
<span class="btn-text me-2">Consultar</span>
<span class="btn-icon"><i class="fa-solid fa-window-restore"></i></span>
</span>
</a>
CSS para botones
Código CSS:
/*============================================================
BUTTONS
============================================================*/
/*General*/
.btn {
border:none;
border-radius: 50px;
font-family: Raleway,"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 12px;
font-weight: 600;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 1px;
padding: 15px 30px;
-webkit-transition: all 0.3s cubic-bezier(0.2, 0, 0.3, 1);
transition: all 0.3s cubic-bezier(0.2, 0, 0.3, 1);
}
.btn:hover {
-webkit-transform: translate3d(0, -2px, 0);
transform: translate3d(0, -2px, 0);
}
@media(max-width:768px) {
.btn {
font-size: 14px;
padding: 17px 34px;
width:100%;
margin-bottom:10px;
}
}
/*Tamaños*/
.btn.btn-extra-large {
font-size: 16px;
padding: 19px 38px;
}
.btn.btn-large {
font-size: 14px;
padding: 17px 34px;
}
.btn.btn-small {
font-size: 10px;
padding: 13px 26px;
}
.btn.btn-very-small {
font-size: 8px;
padding: 11px 22px;
}
@media(max-width:768px) {
.btn.btn-extra-large {
font-size: 18px;
padding: 21px 42px;
}
.btn.btn-large {
font-size: 16px;
padding: 19px 38px;
}
.btn.btn-small {
font-size: 12px;
padding: 15px 30px;
}
.btn.btn-very-small {
font-size: 10px;
padding: 13px 26px;
}
}
/*Main Action*/
.btn-main-action {
color: #fff !important;
background-color: #339966;
border: 1px solid #339966;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.btn-main-action:hover,
.btn-main-action:focus,
.btn-main-action:active,
.btn-main-action i {
color: #fff !important;
background-color: #908233;
border: 1px solid #908233;
}
/*Primary*/
.btn-primary {
color: #ddd !important;
background-color: #003366;
border: 1px solid #003366;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary i {
color: #fff !important;
background-color: #908233;
border: 1px solid #908233;
}
.bg-gold-dark .btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
color: #fff !important;
background-color: #bca431;
border: 1px solid #bca431;
}
/*Secondary*/
.btn-secondary {
color: #003366 !important;
background-color: transparent;
border: transparent;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-secondary i {
color: #fff !important;
background-color: #908233;
}
/*Disable*/
.btn-disabled {
color: #fff;
background-color: #999;
opacity: .5;
cursor: default;
}
.btn.btn-disabled,.btn:disabled,fieldset:disabled
.btn{
color: #fff;
pointer-events: none;
background-color: #999;
border-color: #999;
opacity: .5
}
/*Outline*/
.btn-outline-main {
border: 2px solid #339966;
color: #339966 !important;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.btn-outline-main:hover, .btn-outline-main:focus {
border: 2px solid #908233;
background-color:#908233;
color: #FFFFFF !important;
}
.btn-outline-primary {
border: 2px solid #003366;
color: #003366 !important;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
border: 2px solid #908233;
background-color: #908233;
color: #FFFFFF !important;
}
/*Box Shadow*/
.btn-box-shadow {
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.btn-box-shadow:hover {
-webkit-box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.4);
box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.4);
}
/*Icon Hover Animation*/
.btn.btn-hover-animation > span {
display: inline-flex;
align-items: center;
}
.btn.btn-hover-animation .btn-text {
margin-left: 0px;
position: relative;
z-index: 3;
transition: transform 0.5s;
}
.btn.btn-hover-animation .btn-icon {
display: inline-flex;
align-items: center;
margin-left: -24px;
}
.btn.btn-hover-animation .btn-icon i {
display: inline-block;
opacity: 0;
top: 0;
transform: translateX(0.24px);
transition: opacity 0.25s, transform 0.5s;
}
.btn.btn-hover-animation:hover .btn-text {
-webkit-transform: translateX(-12px);
transform: translateX(-12px);
}
.btn.btn-hover-animation:hover .btn-icon i {
opacity: 1;
-webkit-transform: translateX(12px);
transform: translateX(12px);
}
.btn.btn-hover-animation:active {
border-color: transparent !important;
}
Última actualización: Abril 2, 2025