我无法使我的下拉菜单响应,因此它从桌面/平板电脑上的水平菜单转到iphone / android的堆叠垂直下拉菜单。
菜单位于bankruptcycanada.com/menu4.html,标记为
<div id='cssmenu'>
<ul>
<li><a href='/'>Home</a></li>
<li><a href='#'>Contact a Trustee</a>
</li>
<li class='has-sub'><a href='#'>FAQ</a>
<ul>
<li><a href='/question1.htm'>Frequently Asked Questions</a></li>
<li><a href='/Credit-Counsellors.htm'>Credit Counsellors</a></li>
<li><a href='/how-bankruptcy-works.htm'>How Bankruptcy Works</a></li>
<li><a href='/BankruptcySteps.ppt.mht.html'>Steps in a Bankruptcy</a></li>
<li><a href='/personal1.htm'>Personal Bankruptcy</a></li>
<li><a href='/business1.htm'>Business Bankruptcy</a></li>
<li><a href='/conduct-before-filing-bankruptcy.htm'>Conduct Before Going Bankrupt</a></li>
<li><a href='/meeting-the-trustee.htm'>Meeting the Trustee</a></li>
<li><a href='/Bankruptcy-Myths.htm'>Bankruptcy Myths</a></li>
<li class='last'><a href='/blog.htm'>Blog</a></li>
</ul>
</li>
<li><a href='/BankruptcyTermPredictor.php'>Bankruptcy Cost</a></li>
<li><a href='/ask-a-trustee/'>Ask a Trustee</a></li>
<li class='has-sub'><a href='#'>Proposals</a>
<ul>
<li><a href='/consumer-proposals.htm'>Consumer Proposals - Avoid Bankruptcy</a></li>
<li><a href='/Bankruptcy-vs-Consumer-Proposals.htm'>Bankruptcy vs. Consumer Proposal</a></li>
<li class='last'><a href='/ConsumerProposalSteps.html'>Steps in a Consumer Proposal</a></li>
</ul>
</li>
<li class='has-sub'><a href='#'>Exemptions</a>
<ul>
<li class='last'><a href='/bankruptcyexemptions.htm'>Find Out What You KEEP</a></li>
</ul>
<li class='has-sub'><a href='#'>After Bankruptcy</a>
<ul>
<li class='last'><a href='/rebuildcredit1.htm'>Credit After Bankruptcy</a></li>
<li class='last'><a href='/After-Bankruptcy-Lenders.htm'>After Bankruptcy Lenders</a></li>
</ul>
</li>
<li><a href='/francais.htm'>Francais</a></li>
</ul>
</div>
我有单独的样式表desktop.css / tablet.css / iphone.css / phone.css。
我为桌面编写的样式是:
#cssmenu
#cssmenu,
#cssmenu ul,
#cssmenu li,
#cssmenu a {
border: none;
margin: 0;
padding: 0;
}
#cssmenu {
height: 37px;
display: block;
padding: 0;
margin: 2px 0;
border: 1px solid;
border-radius: 5px;
width: auto;
}
#cssmenu > ul {
list-style: inside none;
padding: 0;
margin: 0;
}
#cssmenu > ul > li {
list-style: inside none;
padding: 0;
margin: 0;
float: left;
display: block;
position: relative;
}
#cssmenu > ul > li > a {
outline: none;
display: block;
position: relative;
padding: 8px 16px;
text-align: center;
text-decoration: none;
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
font-weight: bold;
font-size: 13px;
font-family: Arial, Helvetica, sans-serif;
}
#cssmenu > ul > li:first-child > a {
border-radius: 5px 0 0 5px;
}
#cssmenu > ul > li > a:after {
content: '';
position: absolute;
border-right: 1px solid;
top: -1px;
bottom: -1px;
right: -2px;
z-index: 99;
}
#cssmenu ul li.has-sub:hover > a:after {
top: 0;
bottom: 0;
}
#cssmenu > ul > li.has-sub > a:before {
content: '';
position: absolute;
top: 18px;
right: 4px;
border: 5px solid transparent;
border-top: 5px solid #FFF;
}
#cssmenu > ul > li.has-sub:hover > a:before {
top: 19px;
}
#cssmenu ul li.has-sub:hover > a {
background: #c00404;
border-color: #c00404;
padding-bottom: 13px;
z-index: 999;
}
#cssmenu ul li.has-sub:hover > ul,
#cssmenu ul li.has-sub:hover > div {
display: block;
}
#cssmenu ul li.has-sub > a:hover {
background: #c00404;
border-color: #c00404;
}
#cssmenu ul li > ul,
#cssmenu ul li > div {
display: none;
width: auto;
position: absolute;
top: 38px;
padding: 10px 0;
background: #9C2125;
border-radius: 0 0 5px 5px;
z-index: 999;
}
#cssmenu ul li > ul {
width: 160px;
}
#cssmenu ul li > ul li {
display: block;
list-style: inside none;
padding: 0;
margin: 0;
position: relative;
}
#cssmenu ul li > ul li a {
outline: none;
display: block;
position: relative;
margin: 0;
padding: 8px 20px;
font: 10pt Arial, Helvetica, sans-serif;
color: #ffffff;
text-decoration: none;
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
#cssmenu,
#cssmenu > ul > li > ul > li a:hover {
background: #003d4a;
background: -moz-linear-gradient(top, #003d4a 0%, #013273 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003d4a), color-stop(100%, #013273));
background: -webkit-linear-gradient(top, #003d4a 0%, #013273 100%);
background: -o-linear-gradient(top, #003d4a 0%, #013273 100%);
background: -ms-linear-gradient(top, #003d4a 0%, #013273 100%);
background: linear-gradient(top, #003d4a 0%, #013273 100%);
}
#cssmenu {
border-color: #c00404;
}
#cssmenu > ul > li > a {
border-right: 1px solid #c00404;
color: #FFF;
}
#cssmenu > ul > li > a:after {
border-color: #fb2f2f;
}
#cssmenu > ul > li > a:hover {
background: #c00404;
color: #ffffff;
}
#cssmenu ul ul a:hover {
color: #deb40d;
font-weight:bold;
}
#cssmenu > ul > li.has-sub > a:hover:before {
border-top: 5px solid #ffffff;
}
我有两个问题:
1)桌面上的菜单不会拉伸以适应整个屏幕宽度;当最后两个项目仍有空间供他们使用时,它们会下拉一行。我该如何解决这个问题?
2)我需要对css进行哪些更改才能使其作为iphone.css和phone.css的移动响应?我是否需要添加jquery,如果是,那么脚本和哪里?
请帮忙!!我真的很感激这方面的一些帮助。非常感谢。
答案 0 :(得分:0)
1)看:div#content
的宽度为798px
,div#cssmenu
的宽度为auto
。 div#cssmenu
是div#content
的子项,因此它与父项(798px
)的宽度相同。它是相同的,宽度为798px
。
您可以稍微重构一下代码。您可以使用宽度创建另外1个包装器(内容外部),这对于您的菜单是可以的,并将div#content
放入其中。
2)这个问题可能并不像你想象的那么简单。有很多文章都有方法可以检测iphone
等。在so.com上使用google查找一些内容。
例如:
http://davidwalsh.name/detect-iphone
或这个
https://stackoverflow.com/a/11820473/2898694
等你可以自己找到很多例子。
但是这样的方法会引起一些问题。如果js关闭怎么办?为什么用户不会使用流行的浏览器?等等等。
我建议你使用mediaqueries:
<link rel="stylesheet" media="screen and (min-device-width: 600px)" href="600.css" />
这将为浏览器加载css文件600.css
,该设备的宽度至少为600px。您可以添加css文件以获得更多屏幕宽度。
你可以在这里阅读更多相关信息:http://css-tricks.com/resolution-specific-stylesheets/(还有一个视频可用)
希望这会对你有所帮助。
P.S。:关于小工具。小工具上没有hover
操作,因此您的下拉菜单无法正常工作/无法正常工作。您必须考虑小工具用户并找到另一种方式来显示菜单,否则它们将堆叠在主页上。