Я хочу добавить предложение или абзац на страницу, в то время как я сохраняю идентификатор слов, чтобы позже я мог изменить цвет каждого слова.
Код работает нормально, за исключением одной проблемы, в которой мне нужна помощь, чтобы найти решение.
Я хочу просматривать длинные предложения в несколько строк , если это необходимо. Пока длинные предложения остаются в одной строке, и вы не можете видеть все предложение!
Я использовал word-wrap: break-word;
безуспешно!
let shortSentence = ['i', 'love', 'my', 'family', 'so', 'much', 'what', 'about','you']
let longSentence = ['i', 'love', 'my', 'family', 'so', 'much', 'what', 'about','you', 'i', 'love', 'my', 'family', 'so', 'much', 'what', 'about','you', 'i', 'love', 'my', 'family', 'so', 'much', 'what', 'about','you','i', 'love', 'my', 'family', 'so', 'much', 'what', 'about','you']
//generateParagraph(shortSentence); // Works fine
generateParagraph(longSentence); // Not working
function generateParagraph(sentence) {
let paragraph = document.getElementById("paragraph");
for(let i = 0; i < sentence.length; i++){
sentence[i] = ' ' + sentence[i];
}
sentence[0] = sentence[0].trim();
let paragraphSpans = '';
for (let i = 0; i < sentence.length; i++) {
paragraphSpans += `<span class='spans' id='spanID${i}'>${sentence[i]}</span>`;
};
paragraph.innerHTML = `${paragraphSpans}`;
};
html{
overflow: hidden;
background-color: transparent;
}
.paragraphContainer {
position: absolute;
overflow: hidden;
left: 8.7vw;
top: 25vh;
height: 55vh;
width: 82vw;
outline: 0.1vw dashed orange;
}
.paragraph-class {
position: absolute;
white-space: pre-wrap;
/* word-wrap: break-word;*/
font-family: 'Open Sans', sans-serif;
font-weight:400;
font-size:2vw;
color: #595959;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
}
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap" rel="stylesheet">
</head>
<body>
<div class="paragraphContainer">
<div id="paragraph" class="paragraph-class"></div>
</div>
<script src="script.js"></script>
</body>
</html>