如何将父div包围在float:left子div?

时间:2017-02-04 23:56:39

标签: html css

我试图让headerLinks div环绕两个headerLink div,以便我可以移动链接并整体编辑链接的边距。这是最好的方法吗?如果是这样,我将如何修复我的代码?先感谢您。

这是我的代码:



#header {
  background-color: #EDEDED;
  position: fixed;
  width: 100%;
  top: 0px;
  box-shadow: rgb(0, 0, 0) 0px 0px 10px;
}

#headerItems {
  list-style-type: none;
  overflow: hidden;
  margin: 10px;
  padding: 0px;
}

#headerName {
  float: left;
  display: inline-block;
  color: #3D3D3B;
  font-size: 28px;
}

.headerLinks {
  display: inline-block;
  float: right;
}

.headerLink {
  text-align: center;
  margin: 5px;
  float: right;
}

.headerLink a {
  color: black;
  padding: 5px;
  background-color: #E1E1E1;
  text-decoration: none;
  font-size: 20px;
}

<div id="header">
  <ul id="headerItems">
    <li id="headerName">My name</li>
    <div id="headerLinks">
      <li class="headerLink"><a href="" target="_blank">Link 1</a>
      </li>
      <li class="headerLink"><a href="" target="_blank">Link 2</a>
      </li>
    </div>
  </ul>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

只有右侧的链接应位于ul

而且我很确定你不希望链接颠倒订单, 因此,您需要在父级(headerLinks)上添加float:right,并在li s上向左浮动

&#13;
&#13;
* {box-sizing: border-box;}
body {margin: 0;}
#header {
  background-color: #EDEDED;
  position: fixed;
  width: 100%;
  top: 0px;
  box-shadow: rgb(0, 0, 0) 0px 0px 10px;
  padding: 10px;
}
#headerName {
  float: left;
  display: inline-block;
  color: #3D3D3B;
  font-size: 28px;
}
#headerLinks {
  list-style-type: none;
  overflow: hidden;
  padding: 0;
  margin: 0;
  float: right;
}
.headerLink {
  text-align: center;
  margin: 5px;
  float: left;
}
.headerLink a {
  color: black;
  padding: 5px;
  background-color: #E1E1E1;
  text-decoration: none;
  font-size: 20px;
}
&#13;
<div id="header">
    <span id="headerName">My name</span>
    <ul id="headerLinks">
      <li class="headerLink"><a href="" target="_blank">Link 1</a></li>
      <li class="headerLink"><a href="" target="_blank">Link 2</a></li>
    </ul>
</div>
&#13;
&#13;
&#13;

如果您想制作下拉菜单,则会在ul

中嵌套另一个li