mirror of
https://github.com/WebStackPage/WebStackPage.github.io.git
synced 2026-02-08 04:45:33 +08:00
272 lines
6.7 KiB
Plaintext
Executable File
272 lines
6.7 KiB
Plaintext
Executable File
// Name: Dropdown
|
|
// Description: Defines styles for a toggleable dropdown
|
|
//
|
|
// Component: `uk-dropdown`
|
|
//
|
|
// Modifiers: `uk-dropdown-flip`
|
|
// `uk-dropdown-center`
|
|
// `uk-dropdown-justify`
|
|
// `uk-dropdown-up`
|
|
// `uk-dropdown-grid`
|
|
// `uk-dropdown-width-2`
|
|
// `uk-dropdown-width-3`
|
|
// `uk-dropdown-width-4`
|
|
// `uk-dropdown-width-5`
|
|
// `uk-dropdown-stack`
|
|
// `uk-dropdown-small`
|
|
// `uk-dropdown-navbar`
|
|
// `uk-dropdown-scrollable`
|
|
//
|
|
// States: `uk-open`
|
|
//
|
|
// Uses: Animation
|
|
// Grid: `uk-width-*`
|
|
// Panel: `uk-panel`
|
|
// Nav: `uk-nav`
|
|
//
|
|
// ========================================================================
|
|
|
|
|
|
// Variables
|
|
// ========================================================================
|
|
|
|
@dropdown-z-index: 1020;
|
|
@dropdown-width: 200px;
|
|
@dropdown-margin-top: 5px;
|
|
@dropdown-padding: 15px;
|
|
@dropdown-background: #f5f5f5;
|
|
@dropdown-color: #444;
|
|
@dropdown-font-size: 1rem;
|
|
@dropdown-animation: uk-fade;
|
|
|
|
@dropdown-divider-border-width: 1px;
|
|
@dropdown-divider-border: #ddd;
|
|
|
|
@dropdown-small-padding: 5px;
|
|
|
|
@dropdown-navbar-margin: 0;
|
|
@dropdown-navbar-background: #f5f5f5;
|
|
@dropdown-navbar-color: #444;
|
|
@dropdown-navbar-animation: uk-slide-top-fixed;
|
|
|
|
@dropdown-scrollable-height: 200px;
|
|
|
|
|
|
/* ========================================================================
|
|
Component: Dropdown
|
|
========================================================================== */
|
|
|
|
/*
|
|
* 1. Hide by default
|
|
* 2. Set position
|
|
* 3. Box-sizing is needed for `uk-dropdown-justify`
|
|
* 4. Set style
|
|
* 5. Reset button group whitespace hack
|
|
*/
|
|
|
|
.uk-dropdown {
|
|
/* 1 */
|
|
display: none;
|
|
/* 2 */
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
z-index: @dropdown-z-index;
|
|
/* 3 */
|
|
-moz-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
/* 4 */
|
|
width: @dropdown-width;
|
|
margin-top: @dropdown-margin-top;
|
|
padding: @dropdown-padding;
|
|
background: @dropdown-background;
|
|
color: @dropdown-color;
|
|
/* 5 */
|
|
font-size: @dropdown-font-size;
|
|
vertical-align: top;
|
|
.hook-dropdown;
|
|
}
|
|
|
|
/*
|
|
* 1. Show dropdown
|
|
* 2. Set animation
|
|
* 3. Needed for scale animation
|
|
*/
|
|
|
|
.uk-open > .uk-dropdown {
|
|
/* 1 */
|
|
display: block;
|
|
/* 2 */
|
|
-webkit-animation: @dropdown-animation 0.2s ease-in-out;
|
|
animation: @dropdown-animation 0.2s ease-in-out;
|
|
/* 3 */
|
|
-webkit-transform-origin: 0 0;
|
|
transform-origin: 0 0;
|
|
}
|
|
|
|
/* Alignment modifiers
|
|
========================================================================== */
|
|
|
|
/*
|
|
* Modifier `uk-dropdown-flip`
|
|
*/
|
|
|
|
.uk-dropdown-flip {
|
|
left: auto;
|
|
right: 0;
|
|
}
|
|
|
|
/*
|
|
* Modifier `uk-dropdown-up`
|
|
*/
|
|
|
|
.uk-dropdown-up {
|
|
top: auto;
|
|
bottom: 100%;
|
|
margin-top: auto;
|
|
margin-bottom: @dropdown-margin-top;
|
|
}
|
|
|
|
|
|
/* Nav in dropdown
|
|
========================================================================== */
|
|
|
|
.uk-dropdown .uk-nav { margin: 0 -@dropdown-padding; }
|
|
|
|
|
|
/* Grid and panel in dropdown
|
|
========================================================================== */
|
|
|
|
/*
|
|
* Vertical gutter
|
|
*/
|
|
|
|
/*
|
|
* Grid
|
|
* Higher specificity to override large gutter
|
|
*/
|
|
|
|
.uk-grid .uk-dropdown-grid + .uk-dropdown-grid { margin-top: @dropdown-padding; }
|
|
|
|
/* Panels */
|
|
.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel { margin-top: @dropdown-padding; }
|
|
|
|
/* Tablet and bigger */
|
|
@media (min-width: @breakpoint-medium) {
|
|
|
|
/*
|
|
* Horizontal gutter
|
|
*/
|
|
|
|
.uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid {
|
|
margin-left: -@dropdown-padding ;
|
|
margin-right: -@dropdown-padding;
|
|
}
|
|
|
|
.uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-'] {
|
|
padding-left: @dropdown-padding;
|
|
padding-right: @dropdown-padding;
|
|
}
|
|
|
|
/*
|
|
* Column divider
|
|
*/
|
|
|
|
.uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { border-left: @dropdown-divider-border-width solid @dropdown-divider-border; }
|
|
|
|
/*
|
|
* Width multiplier for dropdown columns
|
|
*/
|
|
|
|
.uk-dropdown-width-2:not(.uk-dropdown-stack) { width: (@dropdown-width * 2); }
|
|
.uk-dropdown-width-3:not(.uk-dropdown-stack) { width: (@dropdown-width * 3); }
|
|
.uk-dropdown-width-4:not(.uk-dropdown-stack) { width: (@dropdown-width * 4); }
|
|
.uk-dropdown-width-5:not(.uk-dropdown-stack) { width: (@dropdown-width * 5); }
|
|
|
|
}
|
|
|
|
/* Phone landscape and smaller */
|
|
@media (max-width: @breakpoint-small-max) {
|
|
|
|
/*
|
|
* Stack columns and take full width
|
|
*/
|
|
|
|
.uk-dropdown-grid > [class*='uk-width-'] { width: 100%; }
|
|
|
|
/*
|
|
* Vertical gutter
|
|
*/
|
|
|
|
.uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { margin-top: @dropdown-padding; }
|
|
|
|
}
|
|
|
|
/*
|
|
* Stack grid columns
|
|
*/
|
|
|
|
.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-'] { width: 100%; }
|
|
|
|
.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { margin-top: @dropdown-padding; }
|
|
|
|
|
|
|
|
/* Modifier `uk-dropdown-small`
|
|
========================================================================== */
|
|
|
|
/*
|
|
* Set min-width and text expands dropdown if needed
|
|
*/
|
|
|
|
.uk-dropdown-small {
|
|
min-width: 150px;
|
|
width: auto;
|
|
padding: @dropdown-small-padding;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/*
|
|
* Nav in dropdown
|
|
*/
|
|
|
|
.uk-dropdown-small .uk-nav { margin: 0 -@dropdown-small-padding; }
|
|
|
|
|
|
/* Modifier: `uk-dropdown-navbar`
|
|
========================================================================== */
|
|
|
|
.uk-dropdown-navbar {
|
|
margin-top: @dropdown-navbar-margin;
|
|
background: @dropdown-navbar-background;
|
|
color: @dropdown-navbar-color;
|
|
.hook-dropdown-navbar;
|
|
}
|
|
|
|
.uk-open > .uk-dropdown-navbar {
|
|
-webkit-animation: @dropdown-navbar-animation 0.2s ease-in-out;
|
|
animation: @dropdown-navbar-animation 0.2s ease-in-out;
|
|
}
|
|
|
|
|
|
/* Modifier `uk-dropdown-scrollable`
|
|
========================================================================== */
|
|
|
|
/*
|
|
* Usefull for long lists
|
|
*/
|
|
|
|
.uk-dropdown-scrollable {
|
|
overflow-y: auto;
|
|
max-height: @dropdown-scrollable-height;
|
|
}
|
|
|
|
|
|
// Hooks
|
|
// ========================================================================
|
|
|
|
.hook-dropdown-misc;
|
|
|
|
.hook-dropdown() {}
|
|
.hook-dropdown-navbar() {}
|
|
.hook-dropdown-misc() {} |