mirror of
https://github.com/WebStackPage/WebStackPage.github.io.git
synced 2026-02-09 21:35:07 +08:00
141 lines
3.2 KiB
Plaintext
Executable File
141 lines
3.2 KiB
Plaintext
Executable File
// Name: Dotnav
|
|
// Description: Defines styles for a dot navigation
|
|
//
|
|
// Component: `uk-dotnav`
|
|
//
|
|
// Modifier: `uk-dotnav-vertical`
|
|
//
|
|
// States: `uk-active`
|
|
//
|
|
// Markup:
|
|
//
|
|
// <!-- uk-dotnav addon -->
|
|
// <ul class="uk-dotnav">
|
|
// <li class="uk-active"><a href=""></a></li>
|
|
// <li><a href=""></a></li>
|
|
// </ul>
|
|
//
|
|
// ========================================================================
|
|
|
|
|
|
// Variables
|
|
// ========================================================================
|
|
|
|
@dotnav-margin-left: 15px;
|
|
@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-vertical-margin-top: @dotnav-margin-left;
|
|
|
|
|
|
/* ========================================================================
|
|
Component: Dotnav
|
|
========================================================================== */
|
|
|
|
/*
|
|
* 1. Remove default list style
|
|
* 2. Remove whitespace between child elements when using `inline-block`
|
|
*/
|
|
|
|
.uk-dotnav {
|
|
/* 1 */
|
|
padding: 0;
|
|
list-style: none;
|
|
/* 2 */
|
|
font-size: 0.001px;
|
|
}
|
|
|
|
|
|
/* Items
|
|
========================================================================== */
|
|
|
|
/*
|
|
* 1. Reset whitespace hack
|
|
* 2. Remove the gap at the bottom of it container
|
|
*/
|
|
|
|
.uk-dotnav > li {
|
|
display: inline-block;
|
|
/* 1 */
|
|
font-size: 1rem;
|
|
/* 2 */
|
|
vertical-align: top;
|
|
}
|
|
|
|
.uk-dotnav > li:nth-child(n+2) { margin-left: @dotnav-margin-left; }
|
|
|
|
/*
|
|
* Items
|
|
* 1. Remove the gap at the bottom of it container
|
|
* 2. Hide text if present
|
|
*/
|
|
|
|
.uk-dotnav > li > a {
|
|
display: inline-block;
|
|
-moz-box-sizing: content-box;
|
|
box-sizing: content-box;
|
|
width: @dotnav-width;
|
|
height: @dotnav-height;
|
|
border-radius: 50%;
|
|
background: @dotnav-background;
|
|
/* 1 */
|
|
vertical-align: top;
|
|
/* 2 */
|
|
overflow: hidden;
|
|
text-indent: -999%;
|
|
.hook-dotnav-item;
|
|
}
|
|
|
|
/*
|
|
* Hover
|
|
* 1. Apply hover style also to focus state
|
|
* 2. Remove default focus style
|
|
*/
|
|
|
|
.uk-dotnav > li > a:hover,
|
|
.uk-dotnav > li > a:focus { // 1
|
|
background: @dotnav-hover-background;
|
|
/* 2 */
|
|
outline: none;
|
|
.hook-dotnav-item-hover;
|
|
}
|
|
|
|
/* OnClick */
|
|
.uk-dotnav > li > a:active {
|
|
background: @dotnav-onclick-background;
|
|
.hook-dotnav-item-onclick;
|
|
}
|
|
|
|
/* Active */
|
|
.uk-dotnav > li.uk-active > a {
|
|
background: @dotnav-active-background;
|
|
.hook-dotnav-item-active;
|
|
}
|
|
|
|
|
|
/* Modifier: 'dotnav-vertical'
|
|
========================================================================== */
|
|
|
|
.uk-dotnav-vertical > li { display: block; }
|
|
|
|
.uk-dotnav-vertical > li:nth-child(n+2) {
|
|
margin-left: 0;
|
|
margin-top: @dotnav-vertical-margin-top;
|
|
}
|
|
|
|
|
|
// Hooks
|
|
// ========================================================================
|
|
|
|
.hook-dotnav-misc;
|
|
|
|
.hook-dotnav-item() {}
|
|
.hook-dotnav-item-hover() {}
|
|
.hook-dotnav-item-onclick() {}
|
|
.hook-dotnav-item-active() {}
|
|
.hook-dotnav-misc() {} |