【发布时间】:2015-06-14 17:18:23
【问题描述】:
我创建了一个下拉菜单,当我单击包含允许打开菜单的类触发器的文本时出现该下拉菜单,但是我遇到了问题。我的页面是响应式的,所以我需要菜单与元素正确对齐:http://prntscr.com/7gw5ox
当我调整页面大小时:http://prntscr.com/7gw5wd
我的 HTML 代码(下拉菜单 - 位于页面底部):
<div id="help-down-down-menu" class="drop-down-menu">
<ul>
<li>
<a href="faq.php">Frequently Asked Questions</a>
</li>
<li>
<a href="faq.php">Test</a>
</li>
<li>
<a href="faq.php">Test</a>
</li>
<li>
<a href="faq.php">Test</a>
</li>
</ul>
</div>
带有包含下拉菜单触发器的文本的页脚代码:
<div id="footer">
<div class="wrapper">
<ul>
<li>
<span class="drop-down-menu-trigger" id="help">Help</span>
</li>
</ul>
<span id="footer-copyright">
<a href="./..">Coded by Dylan - ©2015-2016</a>
</span>
</div>
</div>
JavaScript 代码:
(function($)
{
$(".drop-down-menu-trigger").click(function(e)
{
e.preventDefault();
$(".drop-down-menu").css({"visibility": "visible"});
});
})(jQuery);
CSS:
.drop-down-menu
{
background-color: #FFFFFF;
box-shadow: 0 15px 110px rgba(0, 0, 0, 0.2);
border-radius: 3px;
text-align: center;
position: absolute;
top: 150%;
left: 500px;
visibility: hidden;
}
.drop-down-menu:after
{
top: 100%;
left: 50%;
margin-left: -15px;
border: 15px solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-top-color: #FFFFFF;
}
.drop-down-menu a
{
display: block;
color: #000000;
padding: 10px;
}
.drop-down-menu a:hover
{
background-color: #F5F5F5;
}
.drop-down-menu #faq:before
{
content: "\f059";
font-size: 18px;
margin-right: 5px;
}
【问题讨论】:
-
尝试将
drop-down-menu的margin和padding设置为0,然后告诉我它是否有效。 -
不,它没有。这是绝对位置的问题,因为child不是相对于它的parent定位的,所以我不知道如何解决这个问题。
-
如果您还没有尝试过相对定位,您是否尝试过? ?
-
@Uptop14 我知道解决这个问题的方法,但你能不能。提供类页脚的css代码以及其中的css代码。如果您提供工作的demo 或网站的链接会更容易。
-
这里的演示:nextgenfocus.com/test
标签: javascript jquery html css drop-down-menu