Le Style de la n-ième lettre au une durée à l'aide de CSS
J'ai:
<span id="string">12h12m12s</span>
et je suis à la recherche pour faire de la h
, m
et s
plus petit que le reste du texte. J'ai entendu parler de la nth-letter
pseudo élément en css, mais ça ne semble pas fonctionner:
#string:nth-letter(3),
#string:nth-letter(6),
#string:nth-letter(9) {
font-size: 2em;
}
Je sais que je pourrais utiliser javascript pour analyser la chaîne et de remplacer la lettre à la périphérie de l' span
balises de style et les étiquettes. Cependant, la chaîne est mise à jour chaque seconde et il semble que l'analyse que souvent serait ressource intensive.
Parce que une telle chose n'existe pas. Vous l'avez probablement lu à partir d'un blog, ce qui suggère sa mise en œuvre - voir css-tricks.com/a-call-for-nth-everything et faites défiler jusqu'à "::nth-lettre() / ::dernière lettre() / ::nth-last-lettre()" - et oui, vous pouvez facilement réaliser cela avec JS.
J'ai eu un sentiment... Pourriez-vous suggérer une autre manière de faire (en js je suppose) qui serait assez efficace pour être exécuté à chaque seconde?
Peut-être quelque chose comme ceci codepen.io/FWeinb/stylo/djuIx
J'ai utilisé du JavaScript pour créer une horloge qui utilise des éléments span contenir les heures, les minutes, les secondes. Si vous donnez à chacun de ces éléments span un attribut id unique, vous pouvez simplement utiliser du JavaScript afin de cibler et de mettre à jour le contenu de ce seul élément. La Performance est excellente, et vous pouvez utiliser les CSS pour le style de chaque composant de manière différente.
Ce que je voulais dire est-à-dire avant la boucle:
J'ai eu un sentiment... Pourriez-vous suggérer une autre manière de faire (en js je suppose) qui serait assez efficace pour être exécuté à chaque seconde?
Peut-être quelque chose comme ceci codepen.io/FWeinb/stylo/djuIx
J'ai utilisé du JavaScript pour créer une horloge qui utilise des éléments span contenir les heures, les minutes, les secondes. Si vous donnez à chacun de ces éléments span un attribut id unique, vous pouvez simplement utiliser du JavaScript afin de cibler et de mettre à jour le contenu de ce seul élément. La Performance est excellente, et vous pouvez utiliser les CSS pour le style de chaque composant de manière différente.
Ce que je voulais dire est-à-dire avant la boucle:
var seconds = document.getElementById('seconds');
ensuite utiliser seconds
au lieu de document.getElementById('seconds')
l'intérieur de la boucle. Voici un article plus détaillé: phpied.com/dom-access-optimizationOriginalL'auteur n0pe | 2013-04-14
Vous devez vous connecter pour publier un commentaire.
En terme de Performance, je vous recommande un
span
l'enfer.Une durée pour chaque
h
,m
ets
lettres de sorte que vous pouvez le style correctement (peut appliquer le même ou différent style pour chaque).Et une autre plage pour chaque numéro, de sorte que vous pouvez mettre en cache les références. En somme, voici un JS pour un très simpliste local de l'horloge temps:
Violon
Ce qui illustre l'idée de base de la mise en cache des sélecteurs. Par pas de recréer les éléments, vous avez également un bon boost de performance.
Bien que, dès que le deuxième n'est pas très lourd travail pour quelque chose de si simple (sauf si vous avez des centaines d'horloges dans votre page).
OriginalL'auteur Fabrício Matté
Cela pourrait être un de longue haleine façon de faire cela à l'aide de javascript et de jQuery, mais voici une solution possible.
Séparer les
h
,m
&s
de la chaîne d'origine.Ensuite, vous pouvez définir le style de l'enjambe dans
#string
avec les CSS.Ici est un démo de violon en montrant au-dessus de la.
OriginalL'auteur dev
Ce ne lance que les lettres s'étend et donne à tous de la même classe. Peut-être vaut une mention honorable lol 🙂
jsFiddle
JavaScript:
HTML:
CSS:
str.innerHTML=str.innerHTML.replace(/([hms])/gi,'<span>$1</span>');
Le css devient alors: *#chaîne de caractères span{font-size:10px}
Si vous voulez un style individuel, utiliser pour chaque, ce css: *#string durée:nth-of-type(n){...css...}, où n est le nombre ordinal de la durée, et ...css... est-ce que le css que vous voulez pour chaque
OriginalL'auteur orb
Solution Simple avec le CSS et l'emballage de chaque personnage avec une durée de tag:
https://jsfiddle.net/f8vffLj0/
OriginalL'auteur Borbo