Cibler des caractères individuels à l'aide de CSS peut sembler une aspiration peu pratique. Cependant, il existe des solutions de contournement ingénieuses pour obtenir cet effet, en particulier lorsqu'elles sont associées à JavaScript.
Considérez un scénario dans lequel vous souhaitez mettre en évidence toutes les instances de la lettre « z » en rouge dans les paragraphes. Ou, dans le contexte de la notation musicale, vous souhaiterez peut-être aligner verticalement tous les caractères exposants « 7 » au sein des éléments appartenant à la classe « accord ».
Bien que le CSS pur ne puisse pas relever directement ce défi, une approche hybride peut apporter une solution satisfaisante. Le code suivant montre comment cela peut être accompli :
span.highlight { background: #F60; padding: 5px; display: inline-block; color: #FFF; } p { font-family: Verdana; }
<p> Let's go Zapata let's do it for the revolution, Zapatistas!!! </p>
jQuery.fn.highlight = function(str, className) { var regex = new RegExp(str, "gi"); return this.each(function() { this.innerHTML = this.innerHTML.replace(regex, function(matched) { return "<span class=\"" + className + "\">" + matched + "</span>"; }); }); }; $("p").highlight("Z", "highlight");
Ce code JavaScript exploite la bibliothèque jQuery pour rechercher et remplacer le texte correspondant par un balisage HTML qui inclut une classe personnalisée pour le style. Dans cet exemple, la classe "highlight" est attribuée à tous les caractères "Z" dans les éléments de paragraphe.
En combinant ces composants, l'effet souhaité peut être obtenu. Par exemple, le texte « Zapata Zapatistas !!! » s'affichera avec tous les caractères « Z » surlignés en rouge.
Cette approche, bien qu'elle ne soit pas directement prise en charge par CSS, permet une plus grande personnalisation des caractères individuels dans le contenu Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!