如何居中对齐此菜单

时间:2013-10-13 10:18:37

标签: asp.net css alignment

我正在开发一个asp.net项目,但无法集中对齐我所拥有的列表:
Css Horizontal Menu
我尝试包装div n然后将该div的css设置为text-align:center但是链接仍保留在左侧

这是菜单的CSS:

.horizontalcssmenu ul{
margin: 0;
padding: 0;
list-style-type: none;
}

/*Top level list items*/
.horizontalcssmenu ul li{
position: relative;
display: inline;
float: left;
}

/*Top level menu link items style*/
.horizontalcssmenu ul li a{
display: block;
width: 120px; /*Width of top level menu link items*/
padding: 2px 8px;
border: 1px solid #202020;
border-left-width: 0;
text-decoration: none;
background: url(menubg.gif) center center repeat-x;
color: black;
font: bold 13px Tahoma;
}

/*Sub level menu*/
.horizontalcssmenu ul li ul{
left: 0;
top: 0;
border-top: 1px solid #202020;
position: absolute;
display: block;
visibility: hidden;
z-index: 100;
}

/*Sub level menu list items*/
.horizontalcssmenu ul li ul li{
display: inline;
float: none;
}


/* Sub level menu links style */
.horizontalcssmenu ul li ul li a{
width: 160px; /*width of sub menu levels*/ 
font-weight: normal;
padding: 2px 5px;
background: #e3f1bd;
border-width: 0 1px 1px 1px;
}

.horizontalcssmenu ul li a:hover{
background: url(menubgover.gif) center center repeat-x;
}

.horizontalcssmenu ul li ul li a:hover{
background: #cde686;
}  

.horizontalcssmenu .arrowdiv{
position: absolute;
right: 0;
background: transparent url(menuarrow.gif) no-repeat center left;
}

* html p#iepara{ /*For a paragraph (if any) that immediately follows menu, add 1em top     spacing between the two in IE*/
padding-top: 1em;
}

/* Holly Hack for IE \*/
* html .horizontalcssmenu ul li { float: left; height: 1%; }
* html .horizontalcssmenu ul li a { height: 1%; }
/* End */

使用的JQUERY如下:

var cssmenuids=["cssmenu1"] //Enter id(s) of CSS Horizontal UL menus, separated by commas
var csssubmenuoffset=-1 //Offset of submenus from main menu. Default is 0 pixels.

function createcssmenu2(){
 for (var i=0; i<cssmenuids.length; i++){
 var ultags=document.getElementById(cssmenuids[i]).getElementsByTagName("ul")
for (var t=0; t<ultags.length; t++){
           ultags[t].style.top=ultags[t].parentNode.offsetHeight+csssubmenuoffset+"px"
    var spanref=document.createElement("span")
        spanref.className="arrowdiv"
        spanref.innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;"
        ultags[t].parentNode.getElementsByTagName("a")[0].appendChild(spanref)
    ultags[t].parentNode.onmouseover=function(){
                this.style.zIndex=100
    this.getElementsByTagName("ul")[0].style.visibility="visible"
                this.getElementsByTagName("ul")[0].style.zIndex=0
    }
    ultags[t].parentNode.onmouseout=function(){
                this.style.zIndex=0
                this.getElementsByTagName("ul")[0].style.visibility="hidden"
                this.getElementsByTagName("ul")[0].style.zIndex=100
    }
 }
 }
}

if (window.addEventListener)
window.addEventListener("load", createcssmenu2, false)
else if (window.attachEvent)
window.attachEvent("onload", createcssmenu2)

plz help我希望水平列表位于页面中间。

1 个答案:

答案 0 :(得分:0)

在菜单周围包裹一个容器div并设置边距:0 auto;这应该以你为中心。