Привет, ребята! У меня возникла проблема при создании упорядоченного списка с помощью JavaScript. Я хочу, чтобы числа в списке были окружены цветными кружками.
Вот что я пробую сделать:
const цвета = ['#FF0000', '#00FF00', '#0000FF'];
const элементы = ['Яблоко', 'Банан', 'Апельсин'];
let списокHTML = '';
for (let i = 0; i < элементы.length; i++) {
списокHTML += `<li><span style='background-color:${цвета[i]}; border-radius: 50%; width: 25px; height: 25px; display: inline-block; text-align: center;'>${i + 1}</span> ${элементы[i]}</li>`;
}
document.getElementById('мойСписок').innerHTML = списокHTML;
<ol id='мойСписок'></ol>
Числа должны выглядеть как на примере, но каждый получает цвет из массива в цикле. Как можно добиться такого эффекта правильно?
Твой подход в целом правильный, но есть пара моментов для улучшения. Вместо инлайн-стилей лучше использовать CSS-классы. Это сделает код чище и гибче. Вот как можно оптимизировать:
.circle {
display: inline-flex;
justify-content: center;
align-items: center;
width: 25px;
height: 25px;
border-radius: 50%;
margin-right: 10px;
}
В JS просто добавляй класс и устанавливай цвет через style.backgroundColor. Так будет намного эффективнее и читабельнее.
Слушай, я тоже недавно делал похожую штуку. Вместо того чтобы возиться с inline стилями, попробуй задать стили для span в CSS отдельно. Типа так:
.circle {
display: inline-block;
width: 25px;
height: 25px;
border-radius: 50%;
text-align: center;
line-height: 25px;
margin-right: 10px;
}
А в JS просто добавляй класс и цвет. Так код будет чище и проще поддерживать. Как думаешь, сработает?