2016-12-24 1 views
2

の間で、このダッシュ擬似要素を置くためにどのように私はこの赤いダッシュが均等に第一及び第二(と2番目と3番目)このリスト内の「LI」の間に配置することがしたいと思いますが、それは左側にそれの上に表示されません。このようにすることは可能ですか?ここでは例です:は、Liの

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

赤いダッシュが2番目の "li"の前と3番目の "li"の前に表示されますが、最初のものの前には表示されません – Smithy

+0

次に、 '.main__headers - info ul li:nth-​​child(2):: before { '.main__headers - 情報UL李:n番目の子(2)::前に、.main__headers - インフォUL李:n番目の子(3):: {'の前に? – junkfoodjunkie

答えて

2

I余白を除去し、わずかインラインブロック擬似要素を追加します。

.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

ありがとうございます、ここに余白を追加しました=>。main__headers - info ul li:not(:first-child):: before {margin:0px 20px; }、完璧に動作します – Smithy

0

私はペンを変更しました。私が正しくあなたの質問を得た場合は、ここで

はデモです。

は、2番目と3番目の李さんに、このCSSコードを追加します。要素 Codepen

+0

これは私ですhttp://sketchtoy.com/67757539 – Smithy

+1

@Smithy私はペンを変更した:、達成するために編集された質問をしようとしています。 –

0

ここでli要素に

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

position: relative、実施例の前に、任意のリチウム要素の上に赤い線を配置します最初のものではありません。

.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

このスケッチの例をチェックすることができますか?赤のダッシュは、liの上と上の間ではありません。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>

関連する問題