2 votes

Comment placer ce pseudo-élément tiret entre les éléments li

J'aimerais que ce tiret rouge soit positionné de manière égale entre le premier et le deuxième (et le deuxième et le troisième) "li" de cette liste, mais il apparaît au-dessus et non sur le côté gauche. Est-il possible de procéder de cette manière ? Voici l'exemple :

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

C'est ce que j'essaie de faire : 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>

3voto

Oriol Points 20803

Je supprimerais les marges et ajouterais simplement des pseudo-éléments 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>

Voir Comment supprimer l'espace entre les éléments inline-block ? si l'espace avant les pseudo-éléments vous gêne.

0voto

Yonas Hailu Points 563

J'ai modifié le stylo.

Voici la démo Si j'ai bien compris votre question.

ajouter ce code css à l'élément :before des 2ème et 3ème liens

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

et position: relative t Codepen

0voto

junkfoodjunkie Points 2766

Cet exemple de travail placera la ligne rouge sur tout élément li qui n'est pas le premier.

.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>

0voto

Bhavin Shah Points 1751
.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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X