var GradientLetters = class {
constructor(id, fontSizeStep) {
this.element = document.getElementById(id);
this.fontSizeStep = fontSizeStep;
this.letters = document.getElementById(id).innerText.split("");
document.getElementById(id).innerText = "";
this.makeGradient();
}
makeGradient() {
this.letters.forEach((currentValue, index) => {
let span = document.createElement("SPAN");
span.innerText = currentValue;
span.style.color = "rgba(0, 0, 0, " + (1 / index) + ")";
span.style.fontSize = 60 - (index * 2) + "px";
this.element.appendChild(span);
});
}
}
let gradientLetters = new GradientLetters("gradient-letters", 10);
p {
font-family: Arial;
}
<p id="gradient-letters">Lorem ip</p>
Impossible. Sans emballage les lettres à l'intérieur des balises HTML tout simplement Vous ne pouvez pas modifier les propriétés CSS de ces lettres.
La seule chose que j'ai trouvé, c'est l' ::first-letter
sélecteur, pour la première lettre, pas le suivant.
Explication dans le contexte CSS
CSS font-size Propriété et le CSS de la couleur de la Propriété sont des propriétés que vous pouvez définir dans le contexte de sélecteurs.
Les sélecteurs sont des modèles qui correspondent à l'encontre des éléments dans un arbre, et, comme
ces différentes technologies qui peuvent être utilisées pour sélectionner des nœuds
dans un document.
Ainsi, la définition des propriétés CSS sans pointant vers des éléments (dans ce cas, l'élément HTML) ne semble pas être possible.
À L'Aide De JavaScript
À l'aide de JavaScript est possible de découper une chaîne (Dans ce cas, le innerText d'un Élément HTML comme un paragraphe) dans les lettres, l'emballage de ces lettres dans des Éléments HTML et puis, le style de ces Éléments avec les CSS de plusieurs façons. Dans ce cas, doit être mieux défini CSS par programmation.