Crea un botón con doble contorno y desplaza el plano posterior durante :hover. Permite elegir una flecha a la izquierda o a la derecha, con dirección derecha por defecto, y dispone de estilos para .active, :disabled y .disabled.
El botón debe contener un elemento .content_link. El mixin aplica a ese nodo el contenido visual, la tipografía, los colores, el borde y las flechas opcionales.
@mixin button_style_arrow($attr: (
width: 150px,
height: 47px,
aspect_ratio: null,
bg: #FFF,
bg_hover: #000,
bg_active: #000,
bg_disabled: color.adjust(#000, $lightness: 70%),
color: #000,
color_hover: #FFF,
color_active: #FFF,
color_disabled: color.adjust(#000, $lightness: 40%),
border_radius: 0px,
border: 1px solid #000,
border_hover: 1px solid #000,
border_active: 1px solid #000,
border_disabled: 1px solid color.adjust(#000, $lightness: 70%),
padding: 10px,
tf: (),
time: 500ms,
position: (),
icon: right,
display: flex,
cursor: pointer,
cursor_disabled: not-allowed,
reset: true
));
| Clave | Tipo | Default | Descripción |
|---|---|---|---|
| width | w | Medida | 150px | Define el ancho del botón. |
| height | h | Medida | 47px | Define el alto del botón cuando no se utiliza aspect_ratio. |
| aspect_ratio | ratio | ar | Number | null | Define la relación de aspecto; requiere width y reemplaza height. |
| bg | Color | #FFF | Define el fondo normal del botón y de .content_link. |
| bg_hover | Color | #000 | Define el fondo de .content_link durante hover. |
| bg_active | Color | #000 | Define el fondo de .content_link en .active. |
| bg_disabled | bgd | Color | color.adjust(#000, $lightness: 70%) | Define el fondo del estado disabled. |
| color | c | Color | #000 | Define el color del contenido normal. |
| color_hover | ch | Color | #FFF | Define el color del contenido durante hover. |
| color_active | ca | Color | #FFF | Define el color del contenido en .active. |
| color_disabled | cd | Color | color.adjust(#000, $lightness: 40%) | Define el color del contenido disabled. |
| border_radius | radius | Medida | 0px | Define el radio de borde del botón y de .content_link. |
| border | bd | String | 1px solid #000 | Define el borde normal del botón y de .content_link. |
| border_hover | bdh | String | 1px solid #000 | Define el borde durante :hover. |
| border_active | bda | String | 1px solid #000 | Define el borde en .active. |
| border_disabled | bdd | String | 1px solid color.adjust(#000, $lightness: 70%) | Define el borde en :disabled y .disabled. |
| padding | pa | Medida | 10px | Define el espacio interior de .content_link. |
| time | t | Tiempo | 500ms | Define la duración de las transiciones. |
| tf | Map | () | Configura la tipografía y el texto con las claves y alias admitidos por el mixin tf. |
| position | p | Map | () | Configura la posición del botón mediante el mixin position. |
| icon | i | String | right | Define la dirección de la flecha: right mediante ::after o left mediante ::before. |
| display | d | String | flex | Define el modo de visualización del botón. |
| cursor | cur | String | pointer | Define el cursor del estado normal. |
| cursor_disabled | curd | String | not-allowed | Define el cursor de :disabled y .disabled. |
| reset | r | Boolean | true | Activa el restablecimiento inicial con all: initial. |
Este ejemplo compara el resultado por defecto del mixin con variantes configuradas mediante map para mostrar las direcciones icon: right e icon: left. También muestra los estados normal, .active y deshabilitado, además del mismo patrón aplicado sobre elementos con etiqueta a.
Ajusta el contorno, la dirección de la flecha y los estados de button_style_arrow. El constructor genera el SCSS y el HTML correspondientes a la vista previa.