2011-07-01 6 views
1

CSS 드롭 다운 메뉴를 가운데에 놓으려고하는데 작동하지 않습니다! text-align : center와 margin-left : auto;를 추가하려고했습니다. margin-right : auto. 그러나 가운데에 오는 것은 모두 드롭 다운 li 항목입니다. 어떻게 이뤄지나요? 여기 CSS 드롭 다운 메뉴 가운데 맞추기

는 CSS의 :

.bg {background-color: #008503;} 
.menu {padding:0 0 0 32px; margin:0; list-style:none; height:30px; background-color: #1e52b8; position:relative; font-family: Helvetica, Verdana, sans-serif; } 
.menu li.top {display:block; float:left; position:relative;} 
.menu li a.top_link {display:block; float:left; height:30px; line-height:33px; color:#FFF; text-decoration:none; font-size:15px; font-weight:bold; padding:0 0 0 12px; cursor:pointer;} 
.menu li a.top_link span {float:left; font-weight:bold; display:block; padding:0 24px 0 12px; height:30px;} 
.menu li a.top_link span.down {float:left; display:block; padding:0 24px 0 12px; height:40px; background:url(images/down.gif) no-repeat right top;} 
.menu li a.top_link:hover {color:#000; background-color: #008503;} 
.menu li a.top_link:hover span {background-color: #008503;} 
.menu li a.top_link:hover span.down {background-color: #FF0000;} 

.menu li:hover > a.top_link {color:#FFF; background-color: #008503;} 
.menu li:hover > a.top_link span {background-color: #008503;} 
.menu li:hover > a.top_link span.down {background-color: #FF0000;} 

.menu table {border-collapse:collapse; width:0; height:0; position:absolute; top:0; left:0;} 

.menu a:hover {visibility:visible;} 
.menu li:hover {position:relative; z-index:200;} 

.menu ul, 
.menu :hover ul ul, 
.menu :hover ul :hover ul ul, 
.menu :hover ul :hover ul :hover ul ul, 
.menu :hover ul :hover ul :hover ul :hover ul ul {position:absolute; left:-9999px; top:-9999px; width:0; height:0; margin:0; padding:0; list-style:none;} 

.menu :hover ul.sub {left:0; top:30px; right:2px; background: #fff; padding:3px 0; border:1px solid #008503; white-space:nowrap; width:200px; height:auto;} 
.menu :hover ul.sub li {display:block; height:20px; position:relative; float:left; width:250px;} 
.menu :hover ul.sub li a {font-weight:normal;display:block; font-size:11px; height:20px; width:192px; line-height:20px; text-indent:5px; color:#000; text-decoration:none; border:3px solid #fff; border-width:0 0 0 3px;} 
.menu :hover ul.sub li a.fly {background:#fff url(images/arrow.gif) 80px 7px no-repeat;} 
.menu :hover ul.sub li a:hover {background:#1e52b8; color:#fff;} 
.menu :hover ul.sub li a.fly:hover {background:#999999 url(images/arrow_over.gif) 80px 7px no-repeat; color:#fff;} 
.menu :hover ul li:hover > a.fly {background:#999999 url(images/arrow_over.gif) 80px 7px no-repeat; color:#fff;} 

.menu :hover ul :hover ul, 
.menu :hover ul :hover ul :hover ul, 
.menu :hover ul :hover ul :hover ul :hover ul, 
.menu :hover ul :hover ul :hover ul :hover ul :hover ul 
{left:90px; top:-4px; background: #fff; padding:3px 0; border:1px solid 999999; white-space:nowrap; width:93px; z-index:200; height:auto;} 

그리고 여기에 HTML : 당신은 부동 소수점을 사용하고 있기 때문에

<div style="width: 980px"> <!-- container --> 
<ul class="menu"> 
    <li class="top"><a href="#" class="top_link"><span>Introduction</span></a></li> 
    <li class="top"><a href="#" class="top_link"><span>About us</span></a> 
     <ul class="sub"> 
      <li><a href="#">Sample Menu This is some longer text</a></li>   
      <li><a href="#">Sample Menu</a></li> 
      <li><a href="#">Sample Menu</a></li> 
      <li><a href="#">Sample Menu</a></li> 
      <li><a href="#">Sample Menu</a></li> 
     </ul> 
    </li> 
    <li class="top"><a href="#" class="top_link"><span>The island</span></a> 
     <ul class="sub"> 
      <li><a href="#">Sample Menu This is some longer text</a></li>   
      <li><a href="#">Sample Menu</a></li> 
      <li><a href="#">Sample Menu</a></li> 
      <li><a href="#">Sample Menu</a></li> 
     </ul> 
    </li> 
    <li class="top"><a href="#" class="top_link"><span>Hotels</span></a></li> 
    <li class="top"><a href="#" class="top_link"><span>Tours</span></a></li> 
    <li class="top"><a href="#" class="top_link"><span>Reservation</span></a></li> 
    <li class="top"><a href="#" class="top_link"><span>Contact us</span></a></li> 
</ul> 
</div> 

답변

4

유일한 방법은 그것을 포함하는 요소 및 사용에 폭을 적용하는 것입니다 중앙에 margin-left : 자동; margin-right : 자동. 유연한 너비를 유지하는 방법은 없습니다.

float 대신 display : inline-block; 텍스트 정렬 : 가운데를 사용하여 중심에 배치 할 수 있지만 CSS를 다시 작성해야합니다.

+0

감사합니다. 깨끗한 디스플레이 솔루션 인 인라인 블록을 사용하고 있습니다. –

+0

조심성을 표합니다. 인라인 블록을 사용하는 경우 요소 사이의 공백이 렌더링됩니다 (여기서는 float을 사용할 때가 아닙니다). 요소들이 서로 닿게하려면 HTML 사이에 공백이 없어야합니다. – Gerben

+0

anychance 당신이 해결 방법을 설명 할 수있는, 나는 CSS 전문가가 아니지만 워드 프레스에 대한 멀티 드롭 다운 메뉴를 얻으려고 노력하고 ... –

0

자, 여기 한 가지 방법은 ... 당신이 메뉴 주위 사업부 컨테이너를 넣을 수있어

# menuContainer {마진 : 자동;}

< 사업부 아이디 = 'menuContainer'스타일 = "너비 : 980 픽셀">

+0

사실 나는 그것을 시도, 그러나 Gerben이 말했듯이, 떠돌아 다니기 때문에 당신은 할 수 없습니다 : 왼쪽. –