javascript - 在下拉 javascript 菜单中居中链接

标签 javascript html css

我有一个包含子菜单的下拉菜单,整个菜单横跨浏览器的整个宽度,现在链接都位于屏幕左侧。我想要的是我的链接全部位于屏幕中央,橙色背景仍然跨越浏览器的整个宽度。

代码如下:

在 head 里面是 javascript 和 css,其余的在 body 里:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function(){

    $("#menu li").hover(function(){
        $(this).children(":hidden").slideDown();

    },function(){
        $(this).parent().find("ul").slideUp();

    });

});

</script>


<style>

#menu{
height: 30px;
background-color:#F90;
}

#menu li li:hover{
background-color:yellow;
cursor:pointer;
}

#menu ul, #menu li{
list-style-type:none;
padding:0;
margin:0;
}

#menu li{
float:left;
width:120px;
list-style-type:none;
line-height:30px;
text-align:center;
}

#menu li ul{
position:absolute;
background-color:#f90;
display:none;
}

#menu li li{
float:none;
padding:2px;
}

#menu a{
color:#000;
text-decoration:none;
}
</style>



<div id="menu">
<ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">Info</a>
            <ul>
                <li><a href="http://www.example.com">example</a></li>
                <li><a href="#">Submenu2</a></li>
                <li><a href="#">Submenu3</a></li>
            </ul>
            </li>
    <li><a href="#">Portfolio</a>
            <ul>
                <li><a href="#">Submenu1</a></li>
                <li><a href="#">Submenu2</a></li>
                <li><a href="#">Submenu3</a></li>
            </ul>
            </li>
</ul>
</div>

最佳答案

添加 margin: autodisplay: table:

CSS

#menu{
    height: 30px;
    background-color:#F90;
    width:100%;
}

#menu li li:hover{
    background-color:yellow;
    cursor:pointer;
}

#menu ul, #menu li{
    list-style-type:none;
    padding:0;
    margin:auto;/*Add this*/
    display: table;/*Add this*/
}

#menu li{
    float:left;
    width:120px;
    list-style-type:none;
    line-height:30px;
    text-align:center;
}

#menu li ul{
    position:absolute;
    background-color:#f90;
    display:none;
}

#menu li li{
    float:none;
    padding:2px;
}

#menu a{
    color:#000;
    text-decoration:none;
}

fiddle

关于javascript - 在下拉 javascript 菜单中居中链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24972715/

相关文章:

javascript - 为什么点击事件没有传播?

html - 带有 `float:left` 的盒子正在下方而不是留在下一个可用位置

html - 可变高度的 float 元素将兄弟向下推

css - 当我设置自定义边框或背景颜色时,为什么 Firefox 会在选择箭头按钮上设置背景颜色?

html - 寻找一个完美的下拉菜单 : stretching to full width, 等宽项,纯 CSS。请帮忙解决一个故障

javascript - Javascript 计算器上 'clear all' 函数的键盘输入

javascript - 如何在不重复的情况下混合 JavaScript 数组中的值?

javascript - 表单验证,缺少字段背景颜色

html - 将图像调整到其在表上的父 div

javascript - 警报显示隐藏基于用户响应