将水平CSS菜单居中

用户名

我有一个使用以下CSS的CSS菜单。

在页面上将整个菜单居中的最佳方法是什么?

我尝试过使用另一个<div>外部<nav>并设置边距,但是一直都在对齐。

nav {
    margin: 0 auto; 
    text-align: center;
    border:1px solid black;
}

nav ul ul {
    display: none;
}

nav ul li:hover > ul {
    display: block;
}

nav ul {
    list-style: none;
}

nav ul li {
    float: left;
}

nav ul li:hover a {
    color: #000000;
}

nav ul li a {
    display: block; 
    padding: 10px 15px;
    color: #000000;
    text-decoration: none;
}       

nav ul ul {
    border-radius: 0px;
    padding: 0;
    position: absolute;
}

nav ul ul li {
    float: none; 
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    position: relative;
}

nav ul ul li a {
    color: #000000;
}

nav ul ul li a:hover {
    color: #666666;
}

nav ul ul ul {
    position: absolute;
    top:0;
}

jsfiddle:http : //jsfiddle.net/njuVm/

马克·奥德特

您可以使用以下CSS规则将导航栏居中:

nav {
    margin: 0 auto; 
    text-align: center;
    border:1px solid black;
}

nav ul ul {
    display: none;
}

nav ul li:hover > ul {
    display: block;
}

nav ul {
    list-style: none;
    margin: 0;                 /* << add this */
    padding: 0;                /* << add this */
    display: inline-block;     /* << add this */
    vertical-align: top;       /* << add this */
}

nav ul li {
    float: left;
    margin: 0;          /* << add this */
    padding: 0;         /* << add this */
}

nav ul li:hover a {
    color: #000000;
}

nav ul li a {
    display: block; 
    padding: 10px 15px;
    color: #000000;
    text-decoration: none;
    background-color: pink; /* optional... */
}       

nav ul ul {
    border-radius: 0px;
    padding: 0;
    position: absolute;
}

nav ul ul li {
    float: none; 
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    position: relative;
}

nav ul ul li a {
    color: #000000;
}

nav ul ul li a:hover {
    color: #666666;
}

nav ul ul ul {
    position: absolute;
    top:0;
}

参见演示:http : //jsfiddle.net/audetwebdesign/DP6Ax/

关键是设置display: inline-blocknav ul,这将使您的text-align: center规则生效。

确保将ulli元素上的边距和边距清零您所做的所有其他事情或多或少都是正确的,因此您应该很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将菜单文本居中

来自分类Dev

内容居中的CSS水平尺

来自分类Dev

将div水平居中并留有边距(CSS)

来自分类Dev

发出水平居中菜单

来自分类Dev

CSS将背景图像水平居中,然后垂直重复?

来自分类Dev

将静态宽度垂直子菜单置于动态水平菜单下居中

来自分类Dev

水平<ul>菜单的居中对齐?

来自分类Dev

CSS背景水平居中

来自分类Dev

水平和垂直将两个div居中(CSS)

来自分类Dev

如何使用CSS将链接元素水平居中?

来自分类Dev

使用CSS将* any *宽度水平居中

来自分类Dev

CSS菜单未居中

来自分类Dev

将元素水平居中

来自分类Dev

使用CSS Sprite背景将UL导航水平居中

来自分类Dev

发出将菜单水平居中的问题

来自分类Dev

将CSS垂直下拉菜单更改为水平

来自分类Dev

CSS将背景图像水平居中,然后垂直重复?

来自分类Dev

CSS:将菜单居中对齐

来自分类Dev

使用CSS将div等水平居中

来自分类Dev

居中垂直菜单CSS

来自分类Dev

如何将垂直CSS菜单更改为水平菜单

来自分类Dev

CSS菜单居中

来自分类Dev

如何:居中水平菜单和子菜单

来自分类Dev

CSS水平居中选择菜单和标签

来自分类Dev

HTML / CSS:重排后将文本水平居中

来自分类Dev

垂直居中后将水平跨度居中

来自分类Dev

CSS 水平菜单不居中位置固定

来自分类Dev

如何在 CSS 中水平居中导航菜单?

来自分类Dev

CSS 将 img 水平和垂直居中而不调整大小