如何更改子菜单显示在左侧而不是右侧

时间:2016-03-10 00:16:31

标签: html css

我有一个菜单,子菜单向右而不是向左打开。您可以看到here

这是html代码:

<nav id="menu">
<ul class="parent-menu">
    <li>
      <a href="#">Home & Kitchen</a>
      <ul>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
      </ul>
    </li>
    <li>
      <a href="#">Electronics</a>
      <ul>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
      </ul>
    </li>
    <li>
      <a href="#">Clothing</a>
      <ul>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
      </ul>
    </li>
    <li>
      <a href="#">Cars & Motorbikes</a>
      <ul>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
      </ul>
    </li>
    <li>
      <a href="#">Books</a>
      <ul>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
        <li><a href="#">item</a></li>
      </ul>
    </li>
    <li>
      <a href="#">Support</a>
      <ul>
        <li><a href="#">Contact Us</a></li>
        <li><a href="#">Forum</a></li>
        <li><a href="#">Deliveries</a></li>
        <li><a href="#">T&C</a></li>
      </ul>
    </li>
  </ul>
</nav>

和css:

p,
ul,
li,
div,
nav {
  padding: 0;
  margin: 0;
}

#menu {
  overflow: auto;
  position: relative;
  z-index: 2;
}

.parent-menu {
  background-color: #0c8fff;
  min-width: 200px;
  float: left;
}

#menu ul {
  list-style-type: none;
}

#menu ul li a {
  padding: 10px 15px;
  display: block;
  color: #fff;
  text-decoration: none;
}

#menu ul li a:hover {
  background-color: #007ee9;
}

#menu ul li:hover > ul {
  left: 200px;
  -webkit-transition: left 200ms ease-in;
  -moz-transition: left 200ms ease-in;
  -ms-transition: left 200ms ease-in;
  transition: left 200ms ease-in;
}

#menu ul li > ul {
  position: absolute;
  background-color: #333;
  top: 0;
  left: -200px;
  min-width: 200px;
  z-index: -1;
  height: 100%;
  -webkit-transition: left 200ms ease-in;
  -moz-transition: left 200ms ease-in;
  -ms-transition: left 200ms ease-in;
  transition: left 200ms ease-in;
}

#menu ul li > ul li a:hover {
  background-color: #2e2e2e;
}

我希望子菜单显示在左侧 你能协助我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

只需将所有“左”css规则更改为“右”,然后将主菜单浮动到右侧而不是左侧。

p,
ul,
li,
div,
nav {
  padding: 0;
  margin: 0;
}

#menu {
  overflow: auto;
  position: relative;
  z-index: 2;
}

.parent-menu {
  background-color: #0c8fff;
  min-width: 200px;
  float: right;
}

#menu ul {
  list-style-type: none;
}

#menu ul li a {
  padding: 10px 15px;
  display: block;
  color: #fff;
  text-decoration: none;
}

#menu ul li a:hover {
  background-color: #007ee9;
}

#menu ul li:hover > ul {
  left: 200px;
  -webkit-transition: right 200ms ease-in;
  -moz-transition: right 200ms ease-in;
  -ms-transition: right 200ms ease-in;
  transition: right 200ms ease-in;
}

#menu ul li > ul {
  position: absolute;
  background-color: #333;
  top: 0;
  right: -200px;
  min-width: 200px;
  z-index: -1;
  height: 100%;
  -webkit-transition: right 200ms ease-in;
  -moz-transition: right 200ms ease-in;
  -ms-transition: right 200ms ease-in;
  transition: right 200ms ease-in;
}

#menu ul li > ul li a:hover {
  background-color: #2e2e2e;
}

我很快就通过了css并在你的小提琴中做了这个,它将主菜单放在右边,子菜单放在主菜单的左边。

相关问题