Insérer un caractère spécial en utilisant: Avant pseudo classe en css

Je jouais avec la pseudo-classe :before en css, essayant d'insérer un caractère spécial mais le résultat n'est pas ce que j'espérais.

En utilisant:

.read_more:before {
    content: "»";
    margin-right: 6px;
}

J'obtiens le caractère que je veux, mais avec un caractère  avant et en utilisant:

.read_more:before {
    content: "»";
    margin-right: 6px;
}

Je reçois le » complet sur la page html.

Je peux penser à quelques façons de résoudre mon problème, mais je me demandais quelle serait la syntaxe correcte Si je voulais utiliser le pseudo :before classe.

Au fait, mon doctype est:

<!doctype html>
<html lang="en">
26
demandé sur jeroen 2010-11-10 20:00:32

7 réponses

Essayez de spécifier <meta charset="utf-8">. Idéalement, vous voulez définir cela dans le serveur.

13
répondu meder omuraliev 2010-11-10 17:02:01

Essayez ceci

.read_more:before {
    content: "\00BB";
    margin-right: 6px;
}

\ 00BB est la représentation unicode de ce caractère. Cela devrait raisonnablement fonctionner =)

41
répondu 2010-11-10 17:08:37

La réponse a déjà été dite, mais je veux me référer à:

Je reçois le &raquo; complet sur la page html.

C'est parce que la propriété CSS content n'est pas traitée comme HTML. Il n'est pas ajouté au DOM, donc tout balisage spécifique au HTML n'est pas analysé. Vous pouvez insérer un caractère directement: content: "Ԃ"; ou utiliser la notation Unicode: content: "\0504";.

18
répondu Crozin 2010-11-10 17:11:29

Je sais que cela fait un moment que cette question a été posée, mais au cas où quelqu'un pourrait en avoir besoin de nos jours, j'ai trouvé la solution pour cela.

Voici un tableau avec beaucoup de glyphes. Trouvez celui que vous voulez et copiez le code hexadécimal pour cela.

Puis collez - ici pour convertir.

Vous obtiendrez une valeur qui ressemble à ceci: \00E1 (valeur CSS)

Collez cette valeur sur votre 'content:' et soyez heureux:)

6
répondu Andre Lopes 2015-08-07 17:32:23

Votre navigateur n'utilise pas le codage de texte correct , c'est-à-dire qu'il n'utilise pas le même codage de texte que votre éditeur. Si vous recevez la page à partir d'un serveur Web, la meilleure approche consiste à vous assurer que le serveur envoie l'en-tête Content-Type approprié. Si vous n'avez pas le contrôle sur les en-têtes du serveur Web, ou si vous effectuez beaucoup de tests en utilisant des fichiers HTML locaux, ajoutez les balises appropriées à votre document pour l'encodage et la version HTML que vous utilisez. Je recommande d'utiliser UTF-8. Le fichier CSS (s'il est séparé du HTML) doit utiliser le même encodage.

2
répondu kindall 2010-11-10 17:14:18

Ajoutez ceci sur le html, à l'intérieur de la section <head>

<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8" />

Mais si la page html est codée en PHP, je préférerais ce qui suit:

<?php
    header("Content-Encoding: utf-8");
    header("Content-type: text/html; charset=utf-8");
?>

Et n'oubliez pas d'enregistrer n'importe quel fichier (css, html, php) avec L'encodage UTF-8

1
répondu Omiod 2010-11-10 17:09:05

Vous devez être sûr que tous vos fichiers (CSS et HTML) ont le même encodage.

0
répondu Tae 2010-11-10 17:09:40