липкая панель навигации, отображаемая во всех представлениях

#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>
  

Надеюсь, это поможет