Centering a css dropdown menu -
i'm trying center css dropdown menu, can't seen work! i've tried adding text-align: center , margin-left: auto; margin-right: auto, gets centered dropdown li-items. how done?
here's 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 {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;}
and here's 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 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 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>
since using float, way center apply width containing element , use margin-left: auto; margin-right: auto. there no way retaining flexible width.
an alternative float display:inline-block; these can centered using text-align:center, you'll have rework css.
Comments
Post a Comment