2017-07-13 85 views
0

我有响应式导航栏问题。如果窗口大于1366px,我已经在下面的代码中调整了它的nav宽度。1920x1080屏幕导航栏问题

$(document).ready(function() { 
 

 
    if (jQuery(window).width() > 1366) { 
 

 
    $('nav').addClass(function(index, currentClass) { 
 
     var addedClass; 
 
     if (currentClass === "navbar navbar-inverse navbar-fixed-top") { 
 
     addedClass = "nav-container"; 
 
     } 
 
     return addedClass; 
 
    }); 
 
    } 
 
});
.nav-container { 
 
    position: fixed; 
 
    left: 260px; 
 
    width: 1366px; 
 
    text-align: center; 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 
<div> 
 
    <nav class="navbar navbar-inverse navbar-fixed-top"> 
 
    <div class="container"> 
 
    </div> 
 
    </nav> 
 
</div>

一旦窗口加载nav得到1920px第一的全宽,然后切换到nav-container风格。

当窗口加载完全时,我怎样才能获得nav-container CSS?

+2

我不知道为什么你正在使用这个JS,你可以很容易地设置在CSS媒体查询和设置的样式那么你不必处理这个当前的问题 – Huangism

回答

1

使用@media,这适用于你的情况:

.nav-container { 
 
    position: fixed; 
 
    width: 100%; 
 

 
} 
 
@media(min-width: 1367px) { 
 
    .nav-container { 
 
     width: 1366px; 
 
     margin-left:auto; 
 
     margin-right:auto; 
 
    } 
 
}
<head> 
 
    <meta http-equiv="content-type" content="text/html"; charset="UTF-8"> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
</head> 
 

 
<body > 
 

 
<div class="container"> 
 
    <nav class="navbar navbar-inverse navbar-fixed-top nav-container"></nav> 
 
</div> 
 
</body> 
 
</html>