Odpowiedź @ voyagera na temat używania data-*
atrybutu (np. data-gender="female|male"
jest najbardziej skutecznym i zgodnym ze standardami podejściem od 2017 r .:
[data-gender='male'] {background-color: #000; color: #ccc;}
Niemal większość celów można osiągnąć, ponieważ istnieją pewne, choć ograniczone selektory zorientowane na tekst. :: first-letter jest pseudo-element , który można zastosować ograniczoną stylizacji do pierwszej litery elementu. Istnieje również :: pierwsza linia pseudoelement poza oczywistym wybraniem pierwszego wiersza elementu (takiego jak akapit), sugeruje również, że jest oczywiste, że CSS można wykorzystać do rozszerzenia tej istniejącej możliwości na stylizowanie określonych aspektów textNode .
Dopóki takie poparcie nie odniesie sukcesu i nie zostanie wdrożone, następną najlepszą rzeczą, którą mogę zasugerować, gdy ma to zastosowanie, jest explode
/ split
słowa przy użyciu separatora spacji, wypisz każde pojedyncze słowo wewnątrz span
elementu, a następnie, jeśli cel słowa / stylu jest przewidywalny, użyj w połączeniu z : n-tymi selektorami :
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span>'.$value1.'</span>;
}
W przeciwnym razie skorzystaj z odpowiedzi podróżnika na temat użycia data-*
atrybutu. Przykład użycia PHP:
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span data-word="'.$value1.'">'.$value1.'</span>;
}