К примеру есть такая конструкция :
div{
width:300px;
}
p span{
background:#cc0000;
padding:0 10px;
border-radius:8px;
word-wrap:break-word;
color:#cc0000;
}
::selection{
color:transparent;
background:transparent;
}
::-webkit-selection{
color:transparent;
background:transparent;
}
::-moz-selection{
color:transparent;
background:transparent;
}
p{
line-height:22px;
}
<div>
<p>
<span> Praesent </span><span>sapien</span> <span>massa,</span> <span>convallis</span><span> a pellentesque</span> <span>nec,</span><span> egestas non nisi. </span><span>Vestibulum</span><span> ac diam </span><span>sit amet quam</span> <span>vehicula</span><span> elementum sed</span><span> sit amet dui.</span><span> Praesent sapien</span> <span>massa, convallis</span><span> a </span><span>pellentesque nec,</span><span> egestas non nisi.</span>
</p>
</div>
Но если каждое слово поместить в тег <p></p> без <span></span> то лично у меня ни чего не получается , т.е надо каждое слово сделать не видимым как в примере Выше но при этом что бы текст был расположен просто в теге <p></p>,.Как добиться этого же без вложенных <span></span>?
Подобного результата можно достичь подменой шрифта на BLOKK
UPD: А вот и решение с помощью Shadow DOM, о котором я писал в комментариях (было интересно попробовать реализовать):
window.addEventListener('DOMContentLoaded', function() {
var target = document.querySelector('p'),
wordSet = target.textContent.match(/[^\s]+/g),
shadowHTML = '',
shadowRoot = target.createShadowRoot();
wordSet.forEach(function(word) {
shadowHTML += ` <span>${word}</span> `;
});
shadowRoot.innerHTML = shadowHTML;
/* Как видим, содержимое элемента не изменилось ;D */
console.log(target.innerHTML);
});
p {
width: 300px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
p::shadow span {
margin: 2px;
padding: 0 5px;
display: inline-block;
font-size: .8em;
color: transparent;
background: #cc0000;
border-radius: 8px;
word-wrap: break-word;
}
<p>
Praesent <i>sapien massa</i>, convallis a pellentesque nec, egestas non nisi. Vestibulum ac diam sit amet <b>quam</b> vehicula elementum sed sit amet dui. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.
</p>
Вот что мне помогло в его достижении:
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости