jquery - 960 网格内的中心菜单

标签 jquery html css 960.gs

我一直在研究 960 网格,(http://960.gs/),我使用了几年前使用过的旧式菜单,出于某种原因,960 网格,菜单向左浮动,我希望它居中。

 ul#menu {
width:940px;
height:61px;
background: url(../images/menu_bg.png) no-repeat;
list-style:none;
padding-top:0;
padding-left:0;
margin: 0;
}

ul#menu li {
float:left;
}

ul#menu li a {
background: url(../images/menu_splice_color.png) no-repeat scroll top left;
display:block;
height:61px;
position:relative;
}

ul#menu li a.shel {
width:135px;
}

ul#menu li a.golf {
width:84px;
background-position:-135px 0px;
}
ul#menu li a.pro {
width:119px;
background-position:-219px 0px;
}
ul#menu li a.event {
width:94px;
background-position:-338px 0px;
}
ul#menu li a.member {
width:148px;
background-position:-432px 0px;
}
ul#menu li a.bistro {
width:91px;
background-position:-580px 0px;
}
ul#menu li a.contact {
width:115px;
background-position:-671px 0px;
}

ul#menu li a span {
    background: url(../images/menu_splice_color.png) no-repeat scroll bottom left;
    display:block;
    position:absolute;
    top:0;
    left:0px;
    height:100%;
    width:100%;
    z-index:100;
}

ul#menu li a.shel span {
background-position:0px -61px;
}

ul#menu li a.golf span {
background-position:-135px -61px;
}
ul#menu li a.pro span {
background-position:-219px -61px;
}
ul#menu li a.events span {
background-position:-338px -61px;
}
ul#menu li a.member span {
background-position:-432px -61px;
}
ul#menu li a.bistro span {
background-position:-580px -61px;
}
ul#menu li a.contact span {
background-position:-672px -61px;
}

我的通用 html 标记是

<div class="container_16">



    <!-- Navigation Start -->
    <div class="grid_16">
        <ul id="menu">
            <li><a href="#" class="shel"><span></span></a></li>
            <li><a href="#" class="golf"><span></span></a></li>
            <li><a href="#" class="pro"><span></span></a></li>
            <li><a href="#" class="events"><span></span></a></li>
            <li><a href="#" class="member"><span></span></a></li>
            <li><a href="#" class="bistro"><span></span></a></li>
            <li><a href="#" class="contact"><span></span></a></li>
        </ul>
    </div>
    <div class="clear"></div>

</div>

我使用 jquery 动画来滚动图像。

    $(function() {

    $("ul#menu span").css("opacity","0");

    $("ul#menu span").hover(function () {

        $(this).stop().animate({
            opacity: 1
        }, "slow");
    },

    function () {

        $(this).stop().animate({
            opacity: 0
        }, "slow");
    });
});

最佳答案

将菜单包裹在容器中并将其设置为position: relative。然后将 #menu 绝对定位在距左侧 50% 和 margin-left: -(outerWidth/2)

像这样的东西应该可以工作:

<nav id="container">
    <ul id="menu">
    ...
    </ul>
</nav>

CSS:

#container { position: relative; }

jq:

var $menu = $('#menu'),
    menuWidth = $menu.outerWidth();

$menu.css({
    position: 'absolute',
    left: '50%',
    margin-left: -(menuWidth/2)
});

关于jquery - 960 网格内的中心菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10159347/

相关文章:

html - Bootstrap - 背景颜色

jquery - 为什么 jQuery 中的 .selector 属性不存储有效的选择器值?

jquery - 如果所有子节点都分配了类,则选择父节点

javascript - infragistics igeditor 的 onsubmit 验证选项不起作用

javascript - 如何仅使用 jquery 一次在导航中添加 nav-active 类

css - 如何去掉重复的语句行

javascript - 如何在指令 AngularJS 中包装 jQuery(默认)handsontable?

JQuery Accordion ,根据高度定位页脚

javascript - 为内部容器创建固定 header

javascript - ion-nav-view 中的 ng-style 或 style 没有从 Controller 获得值(value)