如何直接在父标签下移动下拉菜单?

时间:2017-08-28 05:09:48

标签: html css

我有一个菜单,有一个很好的下拉列表和一切,但我唯一的问题是,我找不到一种方法将这该死的下拉一点点向左移动所以它直接在它的下面父标签!!总是站在一边,我看到其他人的例子,当我在菜单标签之间添加填充时,它会做同样的事情!也许是因为那个填充? (我在说这个:http://jsbin.com/gimilapiki/edit?html,css,output

所以,这是我的项目:https://codepen.io/anon/pen/gxdVdO?editors=1100

这是一些代码(因为StackOverFlow迫使我):

  body {background-color: #E8E8E8;}

ul {list-style: none;}

li {
  float: left;
  background-color: white;
}

li:not(.search) {padding: 12px 20px 12px 20px;}

li ul {
  display: none;
  position: absolute;
  padding-left: 1px;
  padding-top: 12px;
}

a {
  text-decoration: none;
  color: #5E5E5E;
}

li:not(.search):hover {
    color: black;
    background-color:#E3E3E3;;
}

ul li ul li {
  float: none;
  background-color: #E3E3E3;
}

ul li ul li:not(.search):hover {background-color: #D1D1D1;}
li:hover > ul {
  z-index: 289; 
  display: block;
  padding: 0 10px 20 20px;
}

.search-input {
      width: 150px;
      height: 18px;
      padding: 0 7px;
      border: 1px solid grey;
      border-radius: 10px;
      border-bottom-right-radius: 0px;
      border-top-right-radius: 0px;
    }

    .search-input:hover {
      outline: none;
      opacity:0.99;
      cursor: pointer;
      box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.05) inset; 
    }
    input:focus {outline: none;}
    #search-icon {
      height: 18px;
    }
    .search {
        padding-bottom: 10px;
    }

    form {
      margin-top: 4px;
    }

我严重依赖这个简单的问题。添加填充左侧或填充右侧或边距没有任何作用,它只影响标签的垂直高度而不影响其他任何内容。我尝试了所有的东西,尽可能地研究,没有任何效果。请帮忙!!!

3 个答案:

答案 0 :(得分:2)

你可以添加像这样简单的东西

li ul {
      display: none;
      position: absolute;
      padding-left: 1px;
      margin-left: -10px;
      padding-top: 12px;
    }

我添加了margin-left: -10px;,我觉得它有效

答案 1 :(得分:1)

ul > li{
  position: relative;
}
ul > li > ul{
  position: absolute;
  top: 100%;
  left: 0px;
}

尝试添加此内容。

答案 2 :(得分:1)

只需将位置添加为亲戚。这将解决您的问题。

li ul {
  display: none;
  position: relative;
  padding-left: 1px;
  padding-top: 12px;
  margin-right:100px;
}