<ul class="list">
  <li class="list-item">HTML</li>
  <li class="list-item">CSS</li>
  <li class="list-item">JavaScript</li>
</ul>
body {
  padding: 16px;
}

.list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.list-item {
  display: flex;
  align-items: center;
  padding: 8px;
  border-width: 2px;
  border-style: dashed;
}

.list-item.new::before {
  content: "";
  width: 12px;
  height: 12px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: green;
}

.list-item:nth-child(even) {
  border-color: tomato;
}

.list-item:nth-child(odd) {
  border-color: blueviolet;
}

.list-item:not(:last-child) {
  margin-bottom: 8px;
}
const list = document.querySelector(".list");

const newTechnologies = ["React", "TypeScript", "Node.js"];
const markup = newTechnologies
  .map((technology) => `<li class="list-item new">${technology}</li>`)
  .join("");

list.insertAdjacentHTML("beforeend", markup);
list.insertAdjacentHTML("beforebegin", "<h2>Popular technologies</h2>");

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/css/bootstrap.min.css

External JavaScript

This Pen doesn't use any external JavaScript resources.