uikit
Version:
UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.
287 lines (238 loc) • 13.6 kB
HTML
<html lang="en-gb" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Dropdown - UIkit tests</title>
<script src="js/test.js"></script>
<style>
.test {
display: block;
position: relative;
width: 100%;
}
.scroll-container {
padding: 15px;
border: 1px dashed rgba(0,0,0,0.2);
overflow: auto;
}
</style>
</head>
<body>
<div class="uk-container">
<h1>Dropdown</h1>
<div class="uk-margin">
<select id="js-size-switcher" class="uk-select uk-form-width-small" aria-label="Size switcher">
<option value="">Default</option>
<option value="uk-dropdown-large">Large</option>
</select>
</div>
<div uk-grid>
<div class="uk-width-1-4@m">
<div class="uk-drop uk-dropdown test">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent</a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a>
<ul>
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Parent</a>
<ul class="uk-nav-sub">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
<li class="uk-nav-header">Header</li>
<li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: table"></span> Item</a></li>
<li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: thumbnails"></span> Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
</ul>
</div>
</div>
<div class="uk-width-1-4@m">
<div class="uk-drop uk-dropdown test">
<ul class="uk-nav uk-nav-secondary">
<li class="uk-active"><a href="#"><div>Active<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
</ul>
</div>
</div>
<div class="uk-width-1-2@m">
<div class="uk-margin" uk-margin>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Scrollable</button>
<div class="uk-overflow-auto uk-height-medium" uk-dropdown>
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent</a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
<li class="uk-nav-header">Header</li>
<li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: table"></span> Item</a></li>
<li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: thumbnails"></span> Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
</ul>
</div>
</div>
</div>
<h2>Position</h2>
<div class="uk-margin" uk-margin>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Bottom Left</button>
<div uk-dropdown>
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Bottom Center</button>
<div uk-dropdown="pos: bottom-center">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Bottom Right</button>
<div uk-dropdown="pos: bottom-right">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
</div>
<div class="uk-margin" uk-margin>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Top Left</button>
<div uk-dropdown="pos: top-left">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Top Center</button>
<div uk-dropdown="pos: top-center">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Top Right</button>
<div uk-dropdown="pos: top-right">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
</div>
<div class="uk-margin" uk-margin>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Left Top</button>
<div uk-dropdown="pos: left-top">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Left Center</button>
<div uk-dropdown="pos: left-center">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Left Bottom</button>
<div uk-dropdown="pos: left-bottom">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
</div>
<div class="uk-margin" uk-margin>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Right Top</button>
<div uk-dropdown="pos: right-top">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Right Center</button>
<div uk-dropdown="pos: right-center">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
<div class="uk-inline">
<button class="uk-button uk-button-default" type="button">Right Bottom</button>
<div uk-dropdown="pos: right-bottom">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
const {$$, addClass, on, removeClass } = UIkit.util;
on('#js-size-switcher', 'change', (e) => {
const options = $$('option', e.target).map(({value}) => value);
for (const dropdown of $$('.uk-dropdown')) {
removeClass(dropdown, options);
addClass(dropdown, e.target.value);
}
});
</script>
</body>
</html>