0
我該如何居中這兩個菜單並將每個#wrap
的背景顏色擴展爲#wrap
的全寬?中心菜單並將背景顏色擴展到包裝的寬度
我正在處理這樣的想法,即可以告訴瀏覽器將div視爲表單元格,即display: table; margin: 0 auto;
。
這是正確的嗎?有沒有更好的方法來居中菜單並填充#wrap
背景顏色?
這裏有一個小提琴:http://jsfiddle.net/kwcp4/1/
HTML:
<div id="wrap">
<div id="nav">
<div class="wrap">
<ul class="menu menu-primary">
<li class="menu-item"><a href="http://#">Menu 1 Link 1</a></li>
<li class="menu-item"><a href="http://#">Menu 1 Link 2</a></li>
<li class="menu-item"><a href="http://#">Menu 1 Link 3</a></li>
<li class="menu-item"><a href="http://#">Menu 1 Link 4</a></li>
</ul>
</div>
</div>
<div id="subnav">
<div class="wrap">
<ul class="menu menu-secondary">
<li class="menu-item"><a href="http://#">Menu 2 Link 1 </a></li>
<li class="menu-item"><a href="http://#">Menu 2 Link 2 </a></li>
<li class="menu-item"><a href="http://#">Menu 2 Link 3 </a></li>
<li class="menu-item"><a href="http://#">Menu 2 Link 4 </a></li>
</ul>
</div>
</div>
CSS:
#wrap {
border: 1px solid #000;
margin: 0 auto;
width: 600px;
padding: 0;
}
.menu-primary,
#header .menu {
background-color: #FE9DA6;
clear: both;
color: #fff;
font-size: 14px;
margin: 0 auto;
overflow: hidden;
width: auto;
}
.menu-secondary,
#header .menu {
background-color: #2EA379;
clear: both;
color: #fff;
font-size: 14px;
margin: 0 auto;
overflow: hidden;
width: auto;
}
.menu-primary,
.menu-secondary {
padding: 5px;
}
.menu-primary,
.menu-secondary {
display: table; margin: 0 auto;
}
.wrap {
width: auto;display: table;margin: 0 auto;
}
.menu-primary ul,
.menu-secondary ul,
#header .menu ul {
float: left;
width: 100%;
}
.menu-primary li,
.menu-secondary li,
#header .menu li {
float: left;
list-style-type: none;
}
.menu-primary a,
.menu-secondary a,
#header .menu a {
color: #fff;
display: block;
padding: 7px 8px 6px;
position: relative;
text-decoration: none;
}
#header .menu a {
padding: 8px 15px 7px;
}
#header {
margin: 0 auto;
height: auto;
width: 100%;
}
嗯,這是比我試圖要簡單得多,這是太複雜了。這樣可行。謝謝。 – markratledge
呵呵,沒問題!樂於幫助。 –