使用:在css中的伪类之前插入特殊字符

时间:2010-11-10 17:00:33

标签: html css encoding special-characters pseudo-class

我正忙着在css中使用:before伪类,尝试插入一个特殊字符,但结果并不是我所希望的。

使用:

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

我得到了我想要的角色,但在它之前使用 字符并使用:

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

我在html页面上获得了完整的»

我可以想出几种方法来解决我的问题,但我想知道如果我想使用:before伪类,正确的语法是什么。

顺便说一句,我的doctype是:

<!doctype html>
<html lang="en">

7 个答案:

答案 0 :(得分:47)

试试这个

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

\ 00BB是该角色的unicode表示。它应该合理地工作=)

答案 1 :(得分:19)

答案已被告知,但我想参考:

  

我在html页面上获得了完整的&raquo;

那是因为CSS content属性不被视为HTML。它不会附加到DOM,因此不会解析任何特定于HTML的标记。您可以直接插入字符:content: "Ԃ";或使用Unicode表示法:content: "\0504";

答案 2 :(得分:14)

尝试指定<meta charset="utf-8">。理想情况下,您希望在服务器中进行设置。

答案 3 :(得分:7)

我知道问题已经有一段时间了,但是如果有人现在需要它,我找到了解决方案。

Here's包含大量字形的图表。找到你想要的那个并复制它的十六进制代码。

然后粘贴here进行转换。

您将获得如下所示的值:\ 00E1(CSS值)

将此值粘贴到您的内容中:&#39;并高兴:)

答案 4 :(得分:2)

您的浏览器未使用正确的文本编码 - 也就是说,它没有使用与编辑器相同的文本编码。如果从Web服务器接收页面,最好的方法是确保服务器正在发送正确的Content-Type标头。如果您无法控制Web服务器的标头,或者您将使用本地HTML文件进行大量测试,请在文档中添加appropriate tags以获取您正在使用的编码和HTML版本。我建议使用UTF-8。 CSS文件(如果它与HTML分开)应该使用相同的编码。

答案 5 :(得分:1)

<head>部分

内的html上添加此内容
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8" />

但如果html页面是用PHP编码的,我更喜欢以下内容:

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

不要忘记用UTF-8编码保存任何文件(css,html,php)

答案 6 :(得分:0)

您必须确保所有文件(CSS和HTML)具有相同的编码。