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)
您正面临双重编码问题.
?
并且•
完全相同.两者都引用Unicode字符'BULLET'(U + 2022),并且可以在HTML源代码中并排存在.
但是,如果该源代码在某些时候再次进行HTML编码,则它将包含?
和•
.前者保持不变,后者将显示为"•" 屏幕上.
在这种情况下这是正确的行为.你需要找到多余的第二个HTML编码发生的点,并摆脱它.