Как добавить изображение поверх индикатора выполнения шага?

#html #css #bootstrap-4

#HTML #css #bootstrap-4

Вопрос:

Я хотел бы добавить изображение / значок поверх индикатора выполнения для каждого шага. Я уже пытался вставить тег изображения, но это помещает изображение рядом с «шагом 1», чего я не хочу.

 .progressbar {
  counter-reset: step;
}
.progressbar li {
  list-style-type: none;
  float: left;
  width: 33.33%;
  position: relative;
  text-align: center;
}
.progressbar li:before {
  content: counter(step);
  counter-increment: step;
  width: 30px;
  height: 30px;
  border: 1px solid #ddd;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  background-color: white;
}
.progressbar li:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #ddd;
  top: 15px;
  left: -50%;
  z-index: -1;
}
.progressbar li:first-child:after {
  content:none;
}
.progressbar li.active {
  color: green;
}
.progressbar li.active:before {
  border-color: #3aac5d;
  background: #3aac5d;
  color: white
}
.progressbar li.active   li:after {
  background-color: green;
}

.container {
  padding: 1px 1px 1px 1px;
  border: 0px solid lightgrey;
  border-radius: 3px;
}  
 <div class="container">
  <ul class="progressbar">
    <li class="active"> step 1</li>
    <li>step 2</li>
    <li>step 3</li>
  </ul>
</div>  

Оно должно быть чуть выше каждого из кругов. Например, значок / изображение местоположения на шаге 1, корзина покупок на шаге и т. Д.

РЕДАКТИРОВАТЬ Я хотел бы добиться чего-то подобного в моем примере. Это учебное пособие с YouTube.

введите описание изображения здесь

Комментарии:

1. В видео на YouTube наглядно показано, как этого добиться.

Ответ №1:

Вы ищете что-то подобное?

 .progressbar {
  counter-reset: step;
}
.progressbar li {
  list-style-type: none;
  float: left;
  width: 33.33%;
  position: relative;
  text-align: center;
}
.progressbar li:before {
  content: counter(step);
  counter-increment: step;
  width: 30px;
  height: 30px;
  border: 1px solid #ddd;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  background-color: white;
}
.progressbar li:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #ddd;
  top: 15px;
  left: -50%;
  z-index: -1;
}
.progressbar li:first-child:after {
  content:none;
}
.progressbar li.active {
  color: green;
}
.progressbar li.active:before {
  border-color: #3aac5d;
  background: #3aac5d;
  color: white;
  content: '';
  background-image: url('https://i.picsum.photos/id/1036/4608/3072.jpg?hmac=Tn9CS_V7lFSMMgAI5k1M38Mdj-YEJR9dPJCyeXNpnZc');
background-size: 30px 30px;
    width: 30px;
    height: 30px;
}
.progressbar li.active   li:after {
  background-color: green;
}

.container {
  padding: 1px 1px 1px 1px;
  border: 0px solid lightgrey;
  border-radius: 3px;
}  
 <div class="container">
  <ul class="progressbar">
    <li class="active"> step 1</li>
    <li>step 2</li>
    <li>step 3</li>
  </ul>
</div>  

Комментарии:

1. Не совсем. Я отредактировал свой вопрос, чтобы отразить ожидаемые результаты. Я хотел бы, чтобы значок был выше, как на изображении, которое я опубликовал

Ответ №2:

Просматриваем ссылку на Youtube, как вы упомянули.

 <div class="container">
  <ul class="progressbar">
    <li class="active">
      <img src="IMAGE_PATH">
      <p>Step 1</p>
    </li>
    <li>
      <img src="IMAGE_PATH">
      <p>Step 2</p>
    </li>
    <li>
      <img src="IMAGE_PATH">
      <p>Step 3</p>
    </li>
  </ul>
</div>
  

Комментарии:

1. Я пробовал это раньше, и он помещает значок ниже. Я хочу поместить его над кругами.

2. Он использовал тег <i> вместо counter-increment: step; который вы используете в counter-increment: step;