0

如何修改 css 以使只有顶部项目(索引项目)居中,子项目很好(因为它们已经位于左侧)?

<div id="menu">
<ul>
<li><a href="#nogo">File</a>
<ul>
<li><a href="#nogo">Save</a></li>
<li><a href="#nogo">Link 1-2</a></li>
<li><a href="#nogo">Link 1-3</a></li>
</ul>
</li>
<li><a href="#nogo">Edit</a>
<ul>
<li><a href="#nogo">Link 2-1</a></li>
<li><a href="#nogo">Link 2-2</a></li>
<li><a href="#nogo">Link 2-3</a></li>
</ul>
</li>
<li><a href="#nogo">View</a>
<ul>
<li><a href="#nogo">Link 3-1</a></li>
<li><a href="#nogo">Link 3-2</a></li>
<li><a href="#nogo">Link 3-3</a></li>
</ul>
</li>
</ul>
</div>

/*HORIZONTAL DROP-DOWN MENU */
#menu{
padding:0;
margin:0;
position: fixed;
top: 33px;
left: 0px;
font-size: 8pt;
}
#menu ul{
padding:0;
margin:0;
}
#menu li{
position: relative;
float: left;
list-style: none;
margin: 0;
padding:0;
} 

#menu li a{
width:120px;
height: 20px;
display: block;
text-decoration:none;
line-height: 20px;
background-color: #A9BBD3;
color: #FFF;
} 

#menu li a:hover{
background-color: #446087;
} 

#menu ul ul{
position: absolute;
top: 20px;
visibility: hidden;
}

#menu ul li:hover ul{
visibility:visible;
}
4

3 回答 3

1

> 最简单的方法是专门使用CSS 子组合器来定位顶层。

jsFiddle 示例

#menu > ul > li > a{
    text-align:center;
}

添加此规则将使顶级文本居中,同时使子菜单文本左对齐。

于 2012-10-26T15:40:10.747 回答
1

例如http://jsfiddle.net/zhprP/ 添加一个类到顶部元素和其他类到子项,如

<li class='top'>File</li>
    <li class='sub'>...</li>

并在 css 中应用:

.top{
     text-align:center;
  }
 .sub{text-align:left;}
于 2012-10-26T15:46:02.883 回答
0

您可以只添加一个新类,然后将该类添加到您的顶级项目.. 例如

#menu li.top_item{
    text-align: center;
}

然后对于html:

<div id="menu">
<ul>
<li class="top_item"><a href="#nogo">File</a>
<ul>
<li class="top_item"><a href="#nogo">Save</a></li>
<li><a href="#nogo">Link 1-2</a></li>
<li><a href="#nogo">Link 1-3</a></li>
</ul>
</li>
<li class="top_item"><a href="#nogo">Edit</a>
<ul>
<li><a href="#nogo">Link 2-1</a></li>
<li><a href="#nogo">Link 2-2</a></li>
<li><a href="#nogo">Link 2-3</a></li>
...
于 2012-10-26T15:42:30.630 回答