在网页的移动视图中隐藏div元素

时间:2016-03-02 16:42:09

标签: javascript css angularjs twitter-bootstrap

我正在构建一个MEAN堆栈应用程序。目前,我正在尝试使用css媒体规则隐藏移动视图中的某些div元素。在移动视图中,使用按钮下拉菜单列出它,使用ng-click设置折叠为真/假。它按预期工作。但是在移动视图中,如果下拉列表被激活并且我将浏览器扩展到更大的尺寸,则菜单将出现在Web视图中,这是不期望的。任何人都可以帮忙吗?

以下是代码的一部分:

<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#sidbar" aria-expanded="false" aria-controls="sidbar" ng-init="sidCollapsed=true" ng-click="sidCollapsed=!sidCollapsed">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>



<div id="sidbar" collapse="sidCollapsed" class="sidbar">
            <!--<ul class="nav navbar-nav navbar-left">-->
            <ul class="nav navbar-nav">
                <li><a ng-class="{'active':$location.path() == '/home'}" href="#/home">Home</a></li>
                <li><a ng-class="{'active':$location.path() == '/profile'}" ng-show="user" href="#/profile">Profile</a></li>
                <li><a ng-class="{'active':$location.path() == '/admin'}" ng-show="user && user.roles.indexOf('admin')>=0" href="#/admin">Admin</a></li>
                <li><a ng-class="{'active':$location.path() == '/forms'}" ng-show="user" href="#/forms">Forms</a></li>
            </ul>
        </div>



css:

@media (min-width: 768px){
.sidbar {
    display:none;
}}

1 个答案:

答案 0 :(得分:1)

从外观上看,您正在使用Bootstrap,因此您可以使用hidden-xs

<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sidbar" aria-expanded="false" aria-controls="sidbar" ng-init="sidCollapsed=true" ng-click="sidCollapsed=!sidCollapsed">
  <span class="sr-only">Toggle navigation</span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
</button>



<div id="sidbar" collapse="sidCollapsed" class="sidbar hidden-xs">
  <!--<ul class="nav navbar-nav navbar-left">-->
  <ul class="nav navbar-nav">
    <li><a ng-class="{'active':$location.path() == '/home'}" href="#/home">Home</a>
    </li>
    <li><a ng-class="{'active':$location.path() == '/profile'}" ng-show="user" href="#/profile">Profile</a>
    </li>
    <li><a ng-class="{'active':$location.path() == '/admin'}" ng-show="user && user.roles.indexOf('admin')>=0" href="#/admin">Admin</a>
    </li>
    <li><a ng-class="{'active':$location.path() == '/forms'}" ng-show="user" href="#/forms">Forms</a>
    </li>
  </ul>
</div>

您可以在Bootstrap文档中找到更多可用的类来显示和隐藏依赖于浏览器大小的元素。