307 votes

Placer le caractère Unicode dans la valeur du contenu CSS

J’ai un problème. J’ai trouvé le code HTML pour le bas flèche, `` (↓)

Cool. Maintenant j’ai besoin de l’utiliser en CSS comme suit :

Qui ne fonctionnera évidemment pas depuis le est un symbole HTML. Il semble y être moins d’info sur ces « échappé unicode » les symboles qui sont utilisés dans le css. Il y a autres symboles comme que j’ai trouvé, mais aucune flèche. Quels sont les codes de la flèche ?

465voto

Matt Ball Points 165937

Pourquoi ne pas simplement enregistrer/service de la CSS de fichiers en UTF-8?

nav a:hover:after {
    content: "↓";
}

Si ce n'est pas assez bon, et que vous voulez garder tout-ASCII:

nav a:hover:after {
    content: "\2193";
}

Le format général d'un caractère Unicode à l'intérieur d'une chaîne de caractères est - \000000 de \FFFFFF – un antislash suivi de six chiffres hexadécimaux. Vous pouvez laisser de côté menant 0 chiffres lorsque le caractère Unicode est le dernier caractère de la chaîne ou lorsque vous ajoutez un espace après le caractère Unicode. Voir les spécifications ci-dessous pour plus de détails.


La partie pertinente de l'CSS2 spec:

Troisièmement, des antislashes permettre aux auteurs de se référer à des personnages qu'ils ne peuvent pas facilement mis dans un document. Dans ce cas, la barre oblique inverse est suivie d'au plus six chiffres hexadécimaux (0..9A..F), qui se tiennent pour la norme ISO 10646 ([ISO10646]) de caractère avec ce nombre, qui ne doit pas être nulle. (Elle n'est pas définie dans le CSS 2.1 ce qui se passe si une feuille de style ne contenir un caractère Unicode codepoint zéro.) Si un personnage dans l'intervalle [0-9a-fA-F] suit le nombre hexadécimal, de la fin du numéro doit être clair. Il y a deux façons de le faire:

  1. avec un espace (ou un autre caractère espace blanc): "\26 B" ("&B"). Dans ce cas, les agents utilisateurs devraient traiter un "CR/LF" paire (U+000D/U+000A) comme un seul caractère espace blanc.
  2. en fournissant exactement 6 chiffres hexadécimaux: "\000026B" ("&B")

En fait, ces deux méthodes peuvent être combinées. Un seul caractère espace blanc est ignoré après hexadécimale de s'échapper. Notez que cela signifie qu'un "vrai" espace après la séquence d'échappement doit être doublé.

Si le nombre est en dehors de la plage autorisée par Unicode (par exemple, "\110000" est au-dessus du maximum 10FFFF admis dans le courant de l'Unicode), l'UA peut remplacer la fuite avec le "caractère de remplacement" (U+FFFD). Si le caractère est d'être affiché, l'UA devrait afficher un symbole visible, comme un "manque de caractère" glyphe (cf. 15.2, point 5).

  • Remarque: les séquences d'échappement sont toujours considérés comme faisant partie d'un identificateur ou une chaîne de caractères (c'est à dire, "\7B" n'est pas la ponctuation, même si les "{" et "\32" est autorisé au début d'un nom de classe, même si "2" n'est pas).
    L'identificateur "te\st" est exactement le même identifiant en tant que "test".

Liste complète: Caractère Unicode 'FLÈCHE vers le BAS' (U+2193).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X