Files
matrix_home_web/bower_components/uikit/less/components/dotnav.less
2025-04-23 10:45:21 +02:00

212 lines
4.7 KiB
Plaintext

// Name: Dotnav
// Description: Defines styles for a dot navigation
//
// Component: `uk-dotnav`
//
// Modifier: `uk-dotnav-contrast`
// `uk-dotnav-vertical`
//
// States: `uk-active`
//
// Markup:
//
// <!-- uk-dotnav -->
// <ul class="uk-dotnav">
// <li class="uk-active"><a href=""></a></li>
// <li><a href=""></a></li>
// </ul>
//
// ========================================================================
// Variables
// ========================================================================
@dotnav-margin-horizontal: 15px;
@dotnav-margin-vertical: @dotnav-margin-horizontal;
@dotnav-width: 20px;
@dotnav-height: @dotnav-width;
@dotnav-background: rgba(50,50,50,0.1);
@dotnav-hover-background: rgba(50,50,50,0.4);
@dotnav-onclick-background: rgba(50,50,50,0.6);
@dotnav-active-background: rgba(50,50,50,0.4);
@dotnav-contrast-background: rgba(255,255,255,0.4);
@dotnav-contrast-hover-background: rgba(255,255,255,0.7);
@dotnav-contrast-onclick-background: rgba(255,255,255,0.9);
@dotnav-contrast-active-background: rgba(255,255,255,0.9);
/* ========================================================================
Component: Dotnav
========================================================================== */
/*
* 1. Gutter
* 2. Remove default list style
*/
.uk-dotnav {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
/* 1 */
margin-left: -@dotnav-margin-horizontal;
margin-top: -@dotnav-margin-vertical;
/* 2 */
padding: 0;
list-style: none;
}
/*
* 1. Space is allocated solely based on content dimensions
* 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
*/
.uk-dotnav > * {
/* 1 */
-ms-flex: none;
-webkit-flex: none;
flex: none;
/* 2 */
padding-left: @dotnav-margin-horizontal;
margin-top: @dotnav-margin-vertical;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav:before,
.uk-dotnav:after {
content: "";
display: block;
overflow: hidden;
}
.uk-dotnav:after { clear: both; }
.uk-dotnav > * { float: left; }
/* Items
========================================================================== */
/*
* Items
* 1. Hide text if present
*/
.uk-dotnav > * > * {
display: block;
box-sizing: content-box;
width: @dotnav-width;
height: @dotnav-height;
border-radius: 50%;
background: @dotnav-background;
/* 1 */
text-indent: 100%;
overflow: hidden;
white-space: nowrap;
.hook-dotnav-item;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus { // 1
background: @dotnav-hover-background;
/* 2 */
outline: none;
.hook-dotnav-item-hover;
}
/* OnClick */
.uk-dotnav > * > :active {
background: @dotnav-onclick-background;
.hook-dotnav-item-onclick;
}
/* Active */
.uk-dotnav > .uk-active > * {
background: @dotnav-active-background;
.hook-dotnav-item-active;
}
/* Modifier: `uk-dotnav-contrast`
========================================================================== */
.uk-dotnav-contrast > * > * {
background: @dotnav-contrast-background;
.hook-dotnav-contrast-item;
}
/*
* Hover
* 1. Apply hover style also to focus state
*/
.uk-dotnav-contrast > * > :hover,
.uk-dotnav-contrast > * > :focus { // 1
background: @dotnav-contrast-hover-background;
.hook-dotnav-contrast-item-hover;
}
/* OnClick */
.uk-dotnav-contrast > * > :active {
background: @dotnav-contrast-onclick-background;
.hook-dotnav-contrast-item-onclick;
}
/* Active */
.uk-dotnav-contrast > .uk-active > * {
background: @dotnav-contrast-active-background;
.hook-dotnav-contrast-item-active;
}
/* Modifier: 'uk-dotnav-vertical'
========================================================================== */
/*
* DEPRECATED
*/
.uk-dotnav-vertical {
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav-vertical > * { float: none; }
// Hooks
// ========================================================================
.hook-dotnav-misc;
.hook-dotnav-item() {}
.hook-dotnav-item-hover() {}
.hook-dotnav-item-onclick() {}
.hook-dotnav-item-active() {}
.hook-dotnav-contrast-item() {}
.hook-dotnav-contrast-item-hover() {}
.hook-dotnav-contrast-item-onclick() {}
.hook-dotnav-contrast-item-active() {}
.hook-dotnav-misc() {}