如何调整菜单栏元素的响应行为
How to adjust responsive behaviour of menu bar's elements
我正在尝试制作菜单。问题是,当我尝试减少600width
下方的屏幕时,菜单由于响应性而消失。我希望菜单项像文本一样转到下一行。
如何实现此行为?
<section class="panel">
<div class="panel-body" style="margin-top: -20px; min-width: 550px;">
<div style="margin:0 auto;width: 550px;">
<ul id="main-menu">
<li <?php echo $menuItem=='dashboard' ? 'class="current-menu-item"' : 'parent'?>><a href="index.php">Home</a></li>
<li <?php echo $menuItem=='submitForm' ? 'class="current-menu-item"' : 'parent'?>><a href="submissionForm.php">Submit Sale</a></li>
<li <?php echo $menuItem=='sales' ? 'class="current-menu-item"' : 'parent'?>><a href="saleslist.php">My Sales</a></li>
<li <?php echo $menuItem=='help' ? 'class="current-menu-item"' : 'parent'?>><a href="help.php">Help</a></li>
<li <?php echo $menuItem=='intro' ? 'class="current-menu-item"' : 'parent'?>><a href="intro.php?mode=view">Incentive Program Code</a></li>
</ul>
</div>
</div>
</section>
我的 CSS 文件
@import url(http://fonts.googleapis.com/css?family=Open+Sans);
body {
background-color: #eee;
background-image: url(../images/patterns/light_toast.png);
color: #666;
font-family: 'Open Sans', sans-serif;
font-size: 12px;
margin:0px;
padding:0px;
}
a {
color: #23dbdb;
text-decoration: none;
}
a:hover {
color: #000;
}
ol, ul {
list-style: none;
padding:0px;
margin:0px;
}
#wrap {
margin: 0 auto;
}
.inner {
margin: 0 auto;
max-width: 940px;
padding: 0 40px;
}
.relative {
position: relative;
}
.right {
float: right;
}
.left {
float: left;
}
/* HEADER */
#wrap > header {
background-color: #333;
padding-bottom: 20px;
}
.logo {
display: inline-block;
font-size: 0;
padding-top:15px;
}
#navigation {
position: absolute;
right: 40px;
bottom: 0px;
}
#menu-toggle {
display: none;
float: right;
}
/* HEADER > MENU */
#main-menu {
float: left;
font-size: 0;
margin: 10px 0;
}
#main-menu > li {
display: inline-block;
margin-left: 30px;
padding: 2px 0;
}
#main-menu > li.parent {
background-image: url(../images/plus-gray.png);
background-size: 7px 7px;
background-repeat: no-repeat;
background-position: left center;
}
#main-menu > li.parent > a {
padding-left: 14px;
}
#main-menu > li > a {
color: #666;
font-size: 13px;
line-height: 14px;
padding: 30px 0;
text-decoration:none;
}
#main-menu > li:hover > a,
#main-menu > li.current-menu-item > a {
color: #23dbdb;
}
/* HEADER > MENU > DROPDOWN */
#main-menu li {
position: relative;
}
ul.sub-menu { /* level 2 */
display: none;
left: 0px;
top: 38px;
padding-top: 10px;
position: absolute;
width: 150px;
z-index: 9999;
}
ul.sub-menu ul.sub-menu { /* level 3+ */
margin-top: -1px;
padding-top: 0;
left: 149px;
top: 0px;
}
ul.sub-menu > li > a {
background-color: #333;
border: 1px solid #444;
border-top: none;
color: #bbb;
display: block;
font-size: 12px;
line-height: 15px;
padding: 10px 12px;
}
ul.sub-menu > li > a:hover {
background-color: #2a2a2a;
color: #fff;
}
ul.sub-menu > li:first-child {
border-top: 3px solid #23dbdb;
}
ul.sub-menu ul.sub-menu > li:first-child {
border-top: 1px solid #444;
}
ul.sub-menu > li:last-child > a {
border-radius: 0 0 2px 2px;
}
ul.sub-menu > li > a.parent {
background-image: url(../images/arrow.png);
background-size: 5px 9px;
background-repeat: no-repeat;
background-position: 95% center;
}
#main-menu li:hover > ul.sub-menu {
display: block; /* show the submenu */
}
@media all and (max-width: 700px) {
#navigation {
position: static;
margin-top: 20px;
}
#menu-toggle {
display: block;
}
#main-menu {
display: none;
float: none;
}
#main-menu li {
display: block;
margin: 0;
padding: 0;
}
#main-menu > li {
margin-top: -1px;
}
#main-menu > li:first-child {
margin-top: 0;
}
#main-menu > li > a {
background-color: #333;
border: 1px solid #444;
color: #bbb;
display: block;
font-size: 14px;
padding: 12px !important;
padding: 0;
}
#main-menu li > a:hover {
background-color: #444;
}
#main-menu > li.parent {
background: none !important;
padding: 0;
}
#main-menu > li:hover > a,
#main-menu > li.current-menu-item > a {
border: 1px solid #444 !important;
color: #fff !important;
}
ul.sub-menu {
display: block;
margin-top: -1px;
margin-left: 20px;
position: static;
padding: 0;
width: inherit;
}
ul.sub-menu > li:first-child {
border-top: 1px solid #444 !important;
}
ul.sub-menu > li > a.parent {
background: #333 !important;
}
}
您将导航隐藏在 700px(而不是问题中所述的 600px)。如果您不希望它被隐藏,请从媒体查询中删除此 CSS:
@media all and (max-width: 700px) {
...
#main-menu {
display: none;
float: none;
}
...
}
如果您希望li
流向下一行(即不堆叠),请从同一媒体查询块中删除以下内容:
@media all and (max-width: 700px) {
...
#main-menu li {
display: block; <-- remove this
margin: 0;
padding: 0;
}
...
}
@media all 和 (最大宽度: 700px) {
#main-menu {
display: none;
/* Display : none; This Property Hide this section when it goes less than 700px*/
}
}
在不同的样式表中编写您的响应式css(即响应式.css)。然后记下不同设备大小的css。
@media(最小宽度:480 像素)和(最大宽度:767 像素){
}
@media(最小宽度:959 像素)和(最大宽度:1024 像素){
}
@media(最小宽度:980 像素)和(最大宽度:1170 像素){
}
相关文章:
- 通过iron-ajax初始化对象数组(链接到caller's元素的响应)
- 响应画布元素
- 为什么不是't html<对象>元素响应鼠标事件
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 按钮元素没有响应
- 单击按钮后的无响应元素
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 原型js 如何使定期更新程序隐藏基于ajax响应的类元素
- Jquery-(ajax async:true)元素大小没有响应
- 为什么jquery元素在ipad上没有响应
- 页面元素停止响应
- 如何从html响应解析javascript数组(包含JSON对象作为元素)
- 循环遍历 AJAX 响应元素
- 多个元素响应移动Webkit和Hammer JS上的触摸事件
- 将元素添加到 Ajax 响应返回的表单中
- 如何使图像DOM元素响应
- 我怎么能强迫元素在一个固定的定位元素响应javascript的onclick事件在Android web浏览器
- 如何使用CSS @media查询使这个元素响应
- 基于部分元素响应解析JSON数据
- JS窗口宽度html5视频元素响应