制作一个迷你垂直分隔器



我正在尝试制作一个类似于本网站的小型垂直条,在每个链接之间都有导航和垂直条。我已经尝试过前面一个问题的解决方案,但当我试图使用"左边距"来移动文本时,条形图不会停留在每个链接之间,而是指向这个。

HTML

<div id="nav-clearfix">
    <div id="nav">
        <ul class="nav-pages">
            <li><a href="#">HOME</a></li>
            <li><div class="mini-divider"></div></li>
            <li><a href="#">ROSTER</a></li>
            <li><div class="mini-divider"></div></li>
            <li><a href="#">GALLERY</a></li>
            <li><div class="mini-divider"></div></li>
            <li><a href="#">ABOUT US</a></li>
            <li><div class="mini-divider"></div></li>
            <li><a href="#">SPONSORS</a></li>
        </ul>
    </div>
</div>

CSS

#nav-clearfix {
  width: 100%;
  height: 100px;
  background: #000;
}
#nav {
  margin-left: 10%;
  width: 100%;
}
.nav-pages {
  padding-top: 10px;
}
.mini-divider {
    position: absolute;
    top: 26%;
    bottom: 71%;
    border-left: 1px solid white;
}
.nav-pages li, .mini-divider {
  float: left;
  margin-left: 50px;
}

CSS

.nav-pages li:not(:last-child) a:after{
  content: "";
  /* width: 0px; */
  background: white;
  margin-left: 20px;
  position: absolute;
  height: inherit;
  color: white;
  border: 1px solid white;
  height: 15px;
}

删除与边框相关的HTML&CSS

<li><div class="mini-divider"></div></li>

演示

您也可以使用+ css选择器为下一个元素提供边界,而无需为border 添加额外的元素

添加

*{
  margin: 0;
  padding: 0;
 }

用于删除浏览器提供的默认样式

* {
  margin: 0;
  padding: 0;
}
#nav-clearfix {
  width: 100%;
  height: 100px;
  background: #000;
}
#nav {
  width: 100%;
}
.nav-pages {
  padding-top: 10px;
  text-align:center;
}
.nav-pages li {
  display: inline-block;
  padding: 0 10px;
}
.nav-pages li + li {
  border-left: 1px solid white;
}
<div id="nav-clearfix">
  <div id="nav">
    <ul class="nav-pages">
      <li><a href="#">HOME</a></li>
      <li><a href="#">ROSTER</a></li>
      <li><a href="#">GALLERY</a></li>
      <li><a href="#">ABOUT US</a></li>
      <li><a href="#">SPONSORS</a></li>
    </ul>
  </div>
</div>

将此.separator类用于垂直分隔符。

CSS

 ul > li{
    float: left;
     display: block;
    position: relative;
}
ul > li > a{
    padding: 4px 6px;
    display: block;
}
 .separator {
    background: none repeat scroll 0 0 #222;
    border-left: 1px solid #333;
    float: left;
    height: 30px;
    width: 1px;
}

HTML

<ul> 
    <li >
        <a href="#" >Home</a> 
    </li> <span class="separator"></span> 
    <li> <a href="#">Link 1</a> </li> <span class="separator"></span> 
    <li > <a href="#">Link 2</a> </li> <span class="separator"></span> 
    <li> <a href="#">Link3</a> </li> <span class="separator"></span> 
    <li > <a href="#contact-us">Contact</a> </li> 
</ul>

jsfiddle:演示

最新更新