如何修改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;
}
答案 0 :(得分:1)
使用>
CSS child combinator专门定位顶级广告的最简单方法。
<强> jsFiddle example 强>
#menu > ul > li > a{
text-align:center;
}
添加此规则将使顶级文本居中,同时使子菜单文本保持对齐。
答案 1 :(得分:1)
示例http://jsfiddle.net/zhprP/ 将一个类添加到顶部元素,将其他类添加到子项目,如
<li class='top'>File</li>
<li class='sub'>...</li>
并在css中申请:
.top{
text-align:center;
}
.sub{text-align:left;}
答案 2 :(得分: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>
...