#html #css #vue.js #vue-component #vuikit
#HTML #css #vue.js #vue-компонент #vuikit
Вопрос:
как заставить адаптивную панель навигации работать на рабочем столе с помощью uikit
вот что я пробовал
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; bottom: #transparent-sticky-navbar" style="background-color: rgba(0,0,0,.4)">
<nav class="uk-navbar-container uk-navbar-transparent uk-height-match" uk-navbar style="position: relative; z-index: 980;height: 77px;">
<div class="uk-navbar-center">
<ul class="uk-navbar-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li>
<a href="#">Parent</a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-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>
</li>
<li><a href="#">Item</a></li>
</ul>
</div>
</nav>
</div>
панель навигации работает во всех видах отображения, но я не хочу, чтобы она работала на планшете и мобильном устройстве
как я могу этого добиться?
Ответ №1:
Вы можете создать прослушиватель для изменения размера окна, и когда ширина окна соответствует размеру мобильного устройства, скройте свою панель навигации, я однажды сделал это подобным образом в вашем родительском компоненте :
data: function() {
return {
windowWidth: 0,
}
},
mounted() {
this.$nextTick(function() {
window.addEventListener('resize', this.getWindowWidth);
//Init
this.getWindowWidth()
})
},
methods: {
getWindowWidth(event) {
this.windowWidth = document.documentElement.clientWidth;
},
},
beforeDestroy() {
window.removeEventListener('resize', this.getWindowWidth);
}
И в вашем шаблоне, например (псевдокод):
<template>
<navbar v-if="windowWidth > 800px"></navbar>
</template>
Надеюсь, это поможет