Search code examples
htmlcssheadercenterdreamweaver

CSS/HTML can't seem to center menu header


I need help centering the menu on CSS...if I could get some help that would be great! I've tried lots of methods but it just floats left no matter what basically. If I add right: 50% and left 50% it centers but then there is white space to the right of the page. The CSS is really messy because I tried messing around with the settings to make it centered..

Here is the CSS

#cssmenu,
#cssmenu ul li a,
#menu-button {
height: auto;
margin: 0px;
text-align: center;
padding-top: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
border: 0;
list-style: none;
line-height: 1;
display: block;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: auto;
}
#cssmenu ul {
clear:left;
float:left;
margin:0;
padding:0;
position:relative;
text-align:center;  
}
#cssmenu ul li {
display:block;
float:left;
list-style:none;
margin:0;
padding:0;
position:relative;
}
#cssmenu:after,
#cssmenu > ul:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
text-align:center;
}
#cssmenu #menu-button {
display: none;
text-align: center;
width: auto;
}
#cssmenu {
font-family: 'Oswald', sans-serif;
border-bottom: 2px solid rgba(0,0,0,.2); *Opacity*
line-height: 1;
padding: 0;
text-align: center;
opacity: 1;
position: relative;
background-color: #00a5d4;
}

Here is the HTML

<div id='cssmenu'>
<ul>
<li class='active'><a href='#'>Home</a></li>
<li><a href='#'>Home</a></li>
<li><a href='#'>Home</a></li>
<li><a href='#'>Home</a></li>
<li><a href='#'>Home</a></li>
<li><a href='#'>Home</a></li>
</ul>
</div>

    #cssmenu,
    #cssmenu ul li a,
    #menu-button {
	height: auto;
	margin: 0px;
	text-align: center;
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
	border: 0;
	list-style: none;
	line-height: 1;
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: auto;
    }
    #cssmenu ul {
    clear:left;
    float:left;
    margin:0;
    padding:0;
    position:relative;
    text-align:center;	
    }
    #cssmenu ul li {
    display:block;
    float:left;
    list-style:none;
    margin:0;
    padding:0;
    position:relative;
    }
    #cssmenu:after,
    #cssmenu > ul:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
    text-align:center;
    }
    #cssmenu #menu-button {
	display: none;
	text-align: center;
	width: auto;
    }
    #cssmenu {
	font-family: 'Oswald', sans-serif;
	border-bottom: 2px solid rgba(0,0,0,.2); *Opacity*
	line-height: 1;
	padding: 0;
	text-align: center;
	opacity: 1;
	position: relative;
	background-color: #00a5d4;
    }
    <div id='cssmenu'>
    <ul>
    <li class='active'><a href='#'>Home</a></li>
    <li><a href='#'>Home</a></li>
    <li><a href='#'>Home</a></li>
    <li><a href='#'>Home</a></li>
    <li><a href='#'>Home</a></li>
    <li><a href='#'>Home</a></li>
    </ul>
    </div>


Solution

  • Just do this:
    http://jsfiddle.net/bthb0y7g/1/

    < li > changes to:

    display:inline-block;

    and remove left floats from everywhere.