2014-02-20 4 views
1

다음은 코드입니다. 그게 내 코드가 아니라는 것을 알았습니다.드롭 메뉴 가운데 맞춤

HTML :

<div class="drop"> 
<ul class="drop_menu"> 
<li><a href='#'>Link 1</a> 
    <ul> 
    <li><a href='#'>Sub Link 1</a></li> 
    <li><a href='#'>Sub Link 2</a></li> 
    </ul> 
</li> 
<li><a href='#'>Link 2</a> 
    <ul> 
    <li><a href='#'>Sub Link 1</a></li> 
    <li><a href='#'>Sub Link 2</a></li> 
    <li><a href='#'>Sub Link 3</a></li> 
    <li><a href='#'>Sub Link 4</a></li> 
    </ul> 
</li> 
<li><a href='#'>Link 3</a> 
    <ul> 
    <li><a href='#'>Sub Link 1</a></li> 
    <li><a href='#'>Sub Link 2</a></li> 
    <li><a href='#'>Sub Link 3</a></li> 
    <li><a href='#'>Sub Link 4</a></li> 
    </ul> 
</li> 
</ul> 
</div> 

CSS :

.drop_menu { 
    background:#005555; 
    padding:0; 
    margin:0; 
    list-style-type:none; 
    height:30px; 

} 
.drop_menu li { float:left; } 
.drop_menu li a { 
    padding:9px 20px; 
    margin-left:auto; 
    margin-right:auto; 
    display:block; 
    color:#fff; 
    text-decoration:none; 
    font:12px arial, verdana, sans-serif; 
} 

/* Submenu */ 
.drop_menu ul { 
    position:absolute; 
    left:-9999px; 
    top:-9999px; 
    list-style-type:none; 
} 
.drop_menu li:hover { position:relative; background:#5FD367; } 
.drop_menu li:hover ul { 
    left:0px; 
    top:30px; 
    background:#5FD367; 
    padding:0px; 
} 

.drop_menu li:hover ul li a { 
    padding:5px; 
    display:block; 
    width:168px; 
    text-indent:15px; 
    background-color:#5FD367; 
} 
.drop_menu li:hover ul li a:hover { background:#005555; } 

내 질문에, 내가 중심을 수있는 방법은 "링크 1", "링크 2"와 "연결 3"인가? 앞으로는 "Link 4,5,6 ..."을 더 추가 할 것이므로 "거의 중심에"위치하지 않아도되는 솔루션이 필요하지만 영구적 인 솔루션입니다.

도와주세요.

: http://jsfiddle.net/W5F3p/

내 안부

+1

을, 당신의 용기 또는 컨테이너의 아이를 중심으로, 기존의 방법은'마진 것입니다 align : center' – 707

답변

1

를 사용하여 텍스트가 컨테이너 태그에 정렬하고 인라인 블록을 표시하기 위해 목록을 설정 - 여기

는 코드 작업을 볼 수 있습니다 JSFiddle에 대한 링크입니다 http://jsfiddle.net/W5F3p/1/

.drop 
{ 
    text-align: center; 
background:#005555;  
} 

조금 해킹하지만 트릭을 수행합니다.

+0

너비를 추가하고 .drop_menu 오른쪽에 표시 하시겠습니까? –

+0

내 것과 같이 해킹되지 않습니다. :) http://jsfiddle.net/W5F3p/3/ – dnelson

+1

예, 죄송합니다 : auto 및 display : inline-block on .drop_menu 너비를 추가했습니다. –

2

IE7 이하를 지원하지 않는다면, 다음과 같이 변경할 수 있습니다. li : 디스플레이에 표시 : 인라인 블록 다음 text-align : center를 부모 ul에 추가하십시오.

.drop_menu { 
    background:#005555; 
    padding:0; 
    margin:0; 
    list-style-type:none; 
    height:30px; 
    text-align:center; 
} 
.drop_menu li { display:inline-block; } 
.drop_menu li a { 
    padding:9px 20px; 
    margin-left:auto; 
    margin-right:auto; 
    display:block; 
    color:#fff; 
    text-decoration:none; 
    font:12px arial, verdana, sans-serif; 
} 

/* Submenu */ 
.drop_menu ul { 
    position:absolute; 
    left:-9999px; 
    top:-9999px; 
    list-style-type:none; 
} 
.drop_menu li:hover { position:relative; background:#5FD367; } 
.drop_menu li:hover ul { 
    left:0px; 
    top:30px; 
    background:#5FD367; 
    padding:0px; 
} 

.drop_menu li:hover ul li a { 
    padding:5px; 
    display:block; 
    width:168px; 
    text-indent:15px; 
    background-color:#5FD367; 
    text-align:left; 
} 
.drop_menu li:hover ul li a:hover { background:#005555; } 

여기를 참조하십시오 : 블록 요소 또는 중앙 그 안에 텍스트 0 auto`이 '텍스트 -를 사용 : 당신은 옵션이 http://jsfiddle.net/s6Jcx/1/