li:在{content:"■"之前; 如何在电子邮件文具中将这个特殊字符编码为Bullit?

Sam*_*Sam 63 css list character-encoding special-characters

之后得意地着色我liststyle子弹没有任何图像URL或span标签,通过:

ul{ list-style: none; padding:0;  margin:0;  }
li{ padding-left: 1em; text-indent: -1em;    }
li:before { content: "?"; padding-right:7px; }
Run Code Online (Sandbox Code Playgroud)

虽然这些样式表完美地适用于圆形边框和其他css3内容,虽然电子邮件的收件人(例如,Eudora OSE 1)正确呈现所有css样式,就像在浏览器中一样,但有一个问题:子弹像?变成&#adabacadabra;

最后出现在电子邮件中:

在此输入图像描述

我该如何从这里开始?

Lea*_*rou 124

之前从未遇到过这个问题(而不是在电子邮件的工作很多,我避免像瘟疫),但你可以尝试用声明的Unicode代码点子弹(不同的符号来表示CSS比HTML) content: '\2022'.(你需要使用十六进制数,而不是8226十进制数)

然后,如果您使用某些东西来获取这些字符并将它们HTML编码为实体(这对CSS字符串不起作用),我想它会忽略它.


小智 8

你试试这个:

ul { list-style: none;}

li { position: relative;}

li:before {
    position: absolute;  
    top: 8px;  
    margin: 8px 0 0 -12px;    
    vertical-align: middle;
    display: inline-block;
    width: 4px;
    height: 4px;
    background: #ccc;
    content: "";
}
Run Code Online (Sandbox Code Playgroud)

由于这篇文章,它对我有用.


Tom*_*lak 5

您正面临双重编码问题.

?并且•完全相同.两者都引用Unicode字符'BULLET'(U + 2022),并且可以在HTML源代码中并排存在.

但是,如果该源代码在某些时候再次进行HTML编码,则它将包含?•.前者保持不变,后者将显示为"•" 屏幕上.

在这种情况下这是正确的行为.你需要找到多余的第二个HTML编码发生的点,并摆脱它.