цвет фона с увеличением непрозрачности, используя меньше - PullRequest
0 голосов
/ 12 ноября 2018

Мне нужно изменить цвет фона всех детей с постепенным увеличением непрозрачности. число потомков является динамическим и будет вставлено или удалено асинхронно. Есть ли какое-либо решение для достижения того же с CSS или менее.

ul li {
  list-style: none;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  margin: 3px 0;
}

ul li:nth-child(1){
  background-color: rgba(0,0,255, 0.1);
}

ul li:nth-child(2){
  background-color: rgba(0,0,255, 0.2);
}

ul li:nth-child(3){
  background-color: rgba(0,0,255, 0.3);
}

ul li:nth-child(4){
  background-color: rgba(0,0,255, 0.4);
}

ul li:nth-child(5){
  background-color: rgba(0,0,255, 0.5);
}
<ul>
  <li>A</li>
  <li>B</li>
  <li>C</li>
  <li>D</li>
  <li>E</li>
</ul>

1 Ответ

0 голосов
/ 12 ноября 2018

Добавлены эти стили

ul li {
 box-shadow: 2px 2px white, 0px 2px white;
}

ul {
  padding: 0;
  background-image: linear-gradient(rgba(0, 0, 255, 0.1), rgba(0, 0, 255, 0.8));
}

Вместо того, чтобы раскрашивать каждый li, присвойте фоновый градиент ul и создайте эффект box с тенью box-shadow.

ul li {
  list-style: none;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  margin: 3px 0;
  box-shadow: 2px 2px white, 0px 2px white;
}

ul {
  padding: 0;
  background-image: linear-gradient(rgba(0, 0, 255, 0.1), rgba(0, 0, 255, 0.8));
}
<ul>
  <li>A</li>
  <li>B</li>
  <li>C</li>
  <li>D</li>
  <li>E</li>
  <li>F</li>
  <li>G</li>
  <li>H</li>
</ul>
...