2016-12-24 53 views
2

我希望这个红色的短划线之间的第一和第二(和第二和第三)“李”平均位于此列表中,但它出现在它上面,而不是在左侧。这样做有可能吗?这里的例子:如何把这个短划线元素之间的李的

http://codepen.io/anon/pen/ENzXao

这就是我试图完成:http://sketchtoy.com/67757539

.main__headers--info ul li { 
    font-size: 20px; 
    list-style: none; 
    display: inline-block; 
    font-weight: bold; 
} 

.main__headers--info ul li:nth-child(2), 
.main__headers--info ul li:nth-child(3) { 
    margin-left: 50px; 
} 

.main__headers--info ul li:nth-child(2)::before { 
    content: ""; 
    display: block; 
    border: 1px solid red; 
    width: 50px; 
} 

<div class="main__headers--info"> 
    <ul> 
    <li>lorem lorem</li> 
    <li>lorem ipsum</li> 
    <li>something</li> 
    </ul> 
</div> 
+0

你想红色短跑在第一和第二? –

+0

红色短划线应出现在第二个“li”之前和第三个“li”之前,但不是第一个之前 – Smithy

+0

然后只需修改'.main__headers - info ul li:nth-​​child(2):: before {'to '.main__headers - info ul li:nth-​​child(2):: before,.main__headers - info ul li:nth-​​child(3):: before {'? – junkfoodjunkie

回答

2

我会删除边缘,只是添加inline-block的伪元素:

.main__headers--info > ul > li { 
 
    font-size: 20px; 
 
    list-style: none; 
 
    display: inline-block; 
 
    font-weight: bold; 
 
} 
 
.main__headers--info > ul > li:not(:first-child)::before { 
 
    content: ""; 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
    border: 1px solid red; 
 
    width: 50px; 
 
}
<div class="main__headers--info"> 
 
    <ul> 
 
    <li>lorem lorem</li> 
 
    <li>lorem ipsum</li> 
 
    <li>something</li> 
 
    </ul> 
 
</div>

请参阅How to remove the space between inline-block elements?如果伪元素之前的空格令您恼火。

+0

谢谢,我在这里增加了margin =>。main__headers - info ul li:not(:first-child):: before {margin:0px 20px; },完美地工作 – Smithy

0

我已经修改了笔。

这里是演示如果我正确地得到您的问题。

这个CSS代码添加到第二和第三李时珍:元素

position: absolute; 
    left: 0; 
    width: 100%; 

position: relative李元素 Codepen

+0

这就是我我试图完成,编辑的问题:http://sketchtoy.com/67757539 – Smithy

+1

@Smithy我修改了笔。 –

0

在这里,工作示例之前,将把红线任何锂元素不是第一个。

.main__headers--info ul li { 
 
    font-size: 20px; 
 
    list-style: none; 
 
    display: inline-block; 
 
    font-weight: bold; 
 
} 
 

 
.main__headers--info ul li:nth-child(2), 
 
.main__headers--info ul li:nth-child(3) { 
 
    margin-left: 50px; 
 
} 
 

 
.main__headers--info ul li:not(:first-of-type)::before { 
 
    content: ""; 
 
    display: block; 
 
    border: 1px solid red; 
 
    width: 50px; 
 
}
<div class="main__headers--info"> 
 
    <ul> 
 
    <li>lorem lorem</li> 
 
    <li>lorem ipsum</li> 
 
    <li>something</li> 
 
    </ul> 
 
</div>

+0

你可以检查这个草图的例子,红色短跑应该介于之间,而不是在李的http://sketchtoy.com/67757539 – Smithy

+0

然后你不能使用边框。 – junkfoodjunkie

0

.wrapper { 
 
    display: flex; 
 
    margin: 0 auto; 
 
    padding: 0 30px; 
 
    width: 100%; } 
 

 
.seperator { 
 
    flex-grow: 1; 
 
    flex-shrink: 0; 
 
    margin: 0 1px; 
 
    margin-top: 0 !important; } 
 
    .seperator hr { 
 
    height: 2px; 
 
    background: gray; 
 
    border: none; 
 
    vertical-align: middle; }
<div class="wrapper"> 
 
    <div class=""> 
 
     Text 
 
    </div> 
 

 
    <div class="seperator"><hr></div> 
 

 
    <div class=""> 
 
     Text 
 
    </div> 
 

 
    <div class="seperator"><hr></div> 
 

 
    <div class=""> 
 
     Text 
 
    </div> 
 
</div>