我的响应式css菜单有这个css代码:
nav, ul, li, a {
margin: 0; padding: 0;
}
a {
text-decoration: none;
}
.container {
width: 100%;
margin: 10px auto;
}
.toggleMenu {
display: none;
background: #666;
padding: 10px 15px;
color: #fff;
}
.nav {
list-style: none;
*zoom: 1;
background:#f36f25;
}
.nav:before,.nav:after {
content: " ";
display: table;
}
.nav:after {
clear: both;
}
.nav ul {
list-style: none;
width: 9em;
}
.nav a {
padding: 10px 15px;
color:#fff;
}
.nav li {
position: relative;
}
.nav > li {
float: left;
border-top: 1px solid #104336;
}
.nav > li > .parent {
background-image: url("images/downArrow.png");
background-repeat: no-repeat;
background-position: right;
}
.nav > li > a {
display: block;
}
.nav li ul {
position: absolute;
left: -9999px;
}
.nav > li.hover > ul {
left: 0;
}
.nav li li.hover ul {
left: 100%;
top: 0;
}
.nav li li a {
display: block;
background: #1d7a62;
position: relative;
z-index:100;
border-top: 1px solid #175e4c;
}
.nav li li li a {
background:#249578;
z-index:200;
border-top: 1px solid #1d7a62;
}
@media screen and (max-width: 768px) {
.active {
display: block;
}
.nav > li {
float: none;
}
.nav > li > .parent {
background-position: 95% 50%;
}
.nav li li .parent {
background-image: url("images/downArrow.png");
background-repeat: no-repeat;
background-position: 95% 50%;
}
.nav ul {
display: block;
width: 100%;
}
.nav > li.hover > ul , .nav li li.hover ul {
position: static;
}
}
但我无法将菜单项对齐到菜单/页面的中心
这里是完整代码的小提琴:
答案 0 :(得分:2)
THIS FIDDLE 你想要什么?
如果是,那么您必须从float
中删除li
并向其添加display: inline-block
。然后,您必须将text-align: center
添加到.nav
.nav {
list-style: none;
background:#f36f25;
text-align: center;
border-top: 1px solid #104336;
}
.nav > li {
display: inline-block;
}
我还从border-top
中删除了li
并将其放在.nav
中以消除li
之间的差距。
修改强>:
要使子菜单项与左侧对齐,请添加此CSS:
.nav li {
text-align: left;
}
<强> EDIT2 强>:
您不需要此adjustMenu()
javascript函数。您可以使用media queries
。稍微修改您的@media
部分。添加此样式:
.nav {
border-top: none;
}
并将.nav > li
的样式替换为:
.nav > li {
display: block;
border-top: 1px solid #104336;
}
另外,我注意到在小范围的分辨率中,一个菜单项突破了新行。为防止这种情况,您可以将此样式添加到.nav
white-space: nowrap;
overflow: hidden;
以下是更新小提琴:http://jsfiddle.net/5Z2QV/9/