首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >菜单不是作为列表打开的

菜单不是作为列表打开的
EN

Stack Overflow用户
提问于 2017-11-05 18:15:48
回答 2查看 46关注 0票数 0

我已经创建了一个下拉菜单,但它不像我想要的那样显示为列表。相反,它显示在我的页面的顶部横幅上。我尝试过摆弄CSS,但是没有用。

只需要指出正确的方向,这可以显示在列表格式。

代码语言:javascript
复制
.menu {
  position: absolute;
  /*top: 100%;*/ /* disabled for the sake of demonstration and user-friendly troubleshooting */ 
  right: 0%;
  background: #d2eaf2;
  float: left;
  height: 25px;
  overflow: hidden;
}

.menu--open {
  height: auto;
}

.menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu li {
  border-bottom: 1px solid #575766;
}

.menu a {
  color: black;
  display: block;
  padding: 2em 6em;
  text-transform: uppercase;
  text-decoration: none;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<nav class="menu menu-toggle">
<div>click</div> <!-- Added for user-friendly troubleshooting -->
  <ul>
    <li>
      <a href="#About">About</a>
    </li>
    <li>
      <a href="#TopTips">Top Tips</a>
    </li>
    <li>
      <a href="#GetIntoRunning">Get Into Running</a>
    </li>
    <li>
      <a href="#TryThis">Try This</a>
    </li>
  </ul>
</nav>
<div class="menu-toggle">
  <div class="hamburger"></div>
</div>

<script>
  $(document).ready(function() {
    $('.menu-toggle').click(function() {
      $('.menu').toggleClass('menu--open');
    })
  });
</script>

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2017-11-05 18:38:51

对于.menu,你不需要指定floatright的值,而且它是关于重新排列的,将你的menu-toggle放在.menu之上,并向菜单中添加文本,这将使它工作

代码语言:javascript
复制
$(document).ready(function () {
    $('.menu-toggle').click(function () {
        $('.menu').toggleClass('menu--open');
    })
});
代码语言:javascript
复制
.menu {
    position: absolute;
    background: #d2eaf2;
    top: 50px;
    height:0;
    overflow: hidden;
}

.menu--open {
    height: auto;
}

.menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu li {
    border-bottom: 1px solid #575766;
}

    .menu a {
        color: black;
        display: block;
        padding: 2em 6em;
        text-transform: uppercase;
        text-decoration: none;
    }

.menu a:hover, .menu a:focus {
	background: #7eadbc;
}
.menu-toggle {
	padding: 1em;
	position: absolute;
	left: 0.5em;
	top: 0.5em;
	cursor: pointer;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu-toggle">
    <div class="hamburger">myMenu</div>
</div>    
<nav class="menu">
    <ul>
        <li>
            <a href="#About">About</a>
        </li>
        <li>
            <a href="#TopTips">Top Tips</a>
        </li>
        <li>
            <a href="#GetIntoRunning">Get Into Running</a>
        </li>
        <li>
            <a href="#TryThis">Try This</a>
        </li>
    </ul>
</nav>

希望这能有所帮助。

更新

或者,如果您不想要文本,可以为.menu-toggle指定宽度和高度,并向其中添加一些css,请检查以下代码片段:

代码语言:javascript
复制
$(document).ready(function () {
    $('.menu-toggle').click(function () {
        $('.menu').toggleClass('menu--open');
    })
});
代码语言:javascript
复制
.menu {
    position: absolute;
    background: #d2eaf2;
    top: 50px;
    height:0;
    overflow: hidden;
}

.menu--open {
    height: auto;
}

.menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu li {
    border-bottom: 1px solid #575766;
}

    .menu a {
        color: black;
        display: block;
        padding: 2em 6em;
        text-transform: uppercase;
        text-decoration: none;
 
      }

    .menu a:hover, .menu a:focus {
    	background: #7eadbc;
    }
    .menu-toggle {
    	padding: 1em;
    	position: absolute;
    	left: 0.5em;
    	top: 0.5em;
    	cursor: pointer;
border: 1px solid #222;
    }
.menu-toggle:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 8px;
    width: 1em;
    height: 0.15em;
    background: black;
    box-shadow: 0 0.25em 0 0 black, 0 0.5em 0 0 black;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu-toggle">
    <div class="hamburger"></div>
</div>    
<nav class="menu">
    <ul>
        <li>
            <a href="#About">About</a>
        </li>
        <li>
            <a href="#TopTips">Top Tips</a>
        </li>
        <li>
            <a href="#GetIntoRunning">Get Into Running</a>
        </li>
        <li>
            <a href="#TryThis">Try This</a>
        </li>
    </ul>
</nav>

票数 0
EN

Stack Overflow用户

发布于 2017-11-05 19:59:26

您必须编辑.menu类属性。

代码语言:javascript
复制
$(document).ready(function () {
        $('.menu-toggle').click(function () {
            $('.menu').toggleClass('menu--open');
        })
    });
代码语言:javascript
复制
.menu {
    position: absolute;
    right: 0%;
    background: #d2eaf2;
    float: left;
    height: 6px;
    overflow: hidden;
}

.menu--open {
    height: auto;
}

.menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu li {
    border-bottom: 1px solid #575766;
}

.menu a {
    color: black;
    display: block;
    padding: 2em 6em;
    text-transform: uppercase;
    text-decoration: none;
}

.menu a:hover, .menu a:focus {
  background: #7eadbc;
}
.menu-toggle {
  padding: 1em;
  position: absolute;
  left: 0.5em;
  top: 0.5em;
  cursor: pointer;
  border: 1px solid;/*Just for test*/
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="menu">
    <ul>
        <li>
            <a href="#About">About</a>
        </li>
        <li>
            <a href="#TopTips">Top Tips</a>
        </li>
        <li>
            <a href="#GetIntoRunning">Get Into Running</a>
        </li>
        <li>
            <a href="#TryThis">Try This</a>
        </li>
    </ul>
</nav>
<div class="menu-toggle">
    <div class="hamburger"></div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47120404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档