所以我不是编码员,但我需要将一个固定的<nav>
.
我尝试left:auto
right:aut
在我的 css 中添加 o 它没有用。所以基本上我想用javascript来做,把屏幕的宽度减去<nav>
除以2的宽度,然后设置左边或右边。
但是我的 javascript 很糟糕,我基本上不知道自己在做什么。因此,如果有人可以在 javascript 中帮助我,或者可以在没有 javascript 的情况下进行修复。
HTML
<nav class="row container double pad-right pad-left">
<ul class="pull-left">
<a href="./">Home</a>
<a>Main Menu</a>
<a>Forums</a>
<a href="./video">Video</a>
</ul>
<ul class="pull-right">
<a>Sign in</a>
<a>Register</a>
</ul>
</nav>
当屏幕达到一定高度时通过 javascript 添加的 CSS。
.nav-fixed{
position:fixed !important;
top:0 !important;
float:none !important;
width:100%;
background-color:#161616;
height:33px;
z-index:9000;
}
Javascript 添加 .nav-fixed
$('document').ready(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 112) {
$('nav').addClass('nav-fixed');
}else{
$('nav').removeClass('nav-fixed');
}
})});
屏幕宽度的Javascript - elementwidth
$('document').ready(function() {
$(window).width(function() {
var window_width = $(window).width();
var curr_width = $('nav').width();
var center = (window_width-curr_width)/2
if (window_width > cur_width){
$('nav').css('right', $center, 'left', $center );
}else if(window_width <= curr_width){
$('nav').css('right', '0px', 'left', '0px');
};
当前正在发生的事情的图像 http://imgur.com/4lkZmDG http://imgur.com/DXAl3mS
来自 HADI 的修复:
function fix_top_bar(){
var barWidth = $('.nav-fixed').width();
$('.nav-fixed').css({ 'left' : '50%', 'margin-left' : '-' + (barWidth/2 + 20) + 'px' });
}
$('document').ready(function() {
$(window).scroll(function() {
if ($('body').scrollTop() > 112) {
$('nav').addClass('nav-fixed');
fix_top_bar();
}else{
$('.nav-fixed').css({ 'left' : '', 'margin-left' : ''});
$('nav').removeClass('nav-fixed');
}
});
fix_top_bar();
$(window).resize(function(){
fix_top_bar();
});
});