CSS非ASCII字符最佳实践
问题场景
在写样式时经常需要用到非ASCII字符的属性值,如下:
|
1
2
3
4
5
6
7
8
9
10
11
|
.hot_list .sign_discount:before { content: "满减"; padding: 0 8px; margin-right: 7px; font-size: 12px; line-height: 14px; color: #fff; text-align: center; border-radius: 11px;} |
但是Chrome下展示时有些时候会显示乱码:

除content外,font字体也是经常需要用于非ASCII字符的值,如font-family: “微软雅黑”
最佳实践
为避免以上这类编码问题,CSS推荐在涉及非ASCII字符时统一使用反斜杠转义以避免编码问题:
backslash escapes allow authors to refer to characters they cannot easily put in a document. In this case, the backslash is followed by at most six hexadecimal digits (0..9A..F), which stand for the ISO 10646 ([ISO10646]) character with that number, which must not be zero. (It is undefined in CSS 2.1 what happens if a style sheet does contain a character with Unicode codepoint zero.) If a character in the range [0-9a-fA-F] follows the hexadecimal number, the end of the number needs to be made clear.
详情请见:http://www.w3.org/TR/CSS2/syndata.html#escaped-characters
所以上例可以改成:
|
1
2
3
4
5
6
7
8
9
10
11
|
.hot_list .sign_discount:before { content: "\6ee1\51cf"; padding: 0 8px; margin-right: 7px; font-size: 12px; line-height: 14px; color: #fff; text-align: center; border-radius: 11px;} |
CSS非ASCII字符最佳实践的更多相关文章
- 正则表达式 去除所有非ASCII字符
需求: 去除字符串中包含的所有外国字符 只能使用正则如下,找到包含非ASCII的记录 db=# select * from test where info ~ '[^(\x00-\x7f)]'; id ...
- css背景色半透明的最佳实践
之前项目中遇到纯色的半透明背景,都是这么干: <style> .box {width:300px;height:300px;position:relative;} .mask {width ...
- mysql 字符串字段中查找非ascii字符
select * from tabel_name where field_name not regexp "^[ -~]*$"
- 完美CSS文档的8个最佳实践
在css的世界,文档没有被得到充分的利用.由于文档对终端用户不可见,因此它的价值常常被忽视.另外,如果你第一次为css编写文档,可能很难确定哪些内容值得记录,以及如何能够高效完成编写. 然而,为C ...
- 15条变量&方法命名的最佳实践【转】
原文地址:15 Best Practices of Variable & Method Naming 不同的代码段采用不同的命名长度.通常来说,循环计数器(loop counters)采用1位 ...
- python基础===15条变量&方法命名的最佳实践
不同的代码段采用不同的命名长度.通常来说,循环计数器(loop counters)采用1位的单字符来命名,循环判断变量(condition/loop variables)采用1个单词来命名,方法采用1 ...
- <读书笔记>《Web前端开发最佳实践》
P77 P89 CSS Reset P94 给CSS样式定义排序 排序工具:CSScomb P97 什么是CSS的权重?权重是指选择符的优先级 P100 工具:Sass Less P101 框架 ...
- 前端代码标准最佳实践:CSS
前端工程师对写标准的前端代码的重视程度很高.这些最佳标准实践并不是那个权威组织发布的,而是由大量的前端工程师们在实践过程中的经验总结,目的在于提高代码的可读性,可维护性和性能.那么接着上一篇,我们再来 ...
- Vue中CSS模块化最佳实践
Vue风格指南中介绍了单文件组件中的Style是必须要有作用域的,否则组件之间可能相互影响,造成难以调试. 在Vue Loader Scope CSS和Vue Loader CSS Modules两节 ...
随机推荐
- MTStatusBarOverlay (状态栏,添加自定义内容库)
NSString * message = [NSString stringWithFormat:@"%@成功", text]; MTStatusBarOverlay *overla ...
- Android 调试利器:Stetho + Chrome
简介 Stetho 由 Facebook 开发的一款查看 Android 数据库.SharePreference.网络拦截器的利器,通过与 Chrome 的配合使用,使 Android App 开发过 ...
- mybatis 对象关系映射例子
入门 http://legend2011.blog.51cto.com/3018495/908956 增删改 http://legend2011.blog.51cto.com/3018495/9130 ...
- 如何从angular2中的url获取查询参数?
问题描述 我使用angular2.0.0-beta.7.当组件在像”/path?query=value1″这样的路径上加载时,它被重定向到”/path”.为什么删除了GET参数?如何保留参数? 路由器 ...
- query compiler
https://db.in.tum.de/teaching/ws1415/queryopt/chapter3.pdf?lang=de pi3.informatik.uni-mannheim.de/~m ...
- Linux系统/boot目录破损无法启动怎么办
linux系统中的/boot目录存放着系统开机所需要的各种文件,其中包含内核.开机菜单及所需配置文件等等.但是当不小心删除了/boot目录里的某些文件或者干脆整个/boot目录都不见了的情况下,该如何 ...
- 微信小程序启动过程分析
1.微信客户端在打开小程序之前,会把整个小程序的代码包下载到本地. 2.紧接着通过 app.json 的 pages 字段就可以知道你当前小程序的所有页面路径: { "pages" ...
- alluxio网络流量异常分析【转】
1. 介绍 2. 准备工作 2.1 tcpdump 2.2 winshark 2.3 安装iftop 2.4 alluxio网络通信相关的端口 3.iftop 锁定消耗流量最大的端口 4. dump数 ...
- Scala中的foreach forall exists map函数及其区别
forall 对集合中的元素进行某个判断,全部为true则返回true,反之返回false. 例如: scala> var s = List("hello", "w ...
- 【转】更改 shell 终端的默认键绑定为 vi 模式
我们使用的 shell 终端是 bash,它的默认键绑定方式是 emacs 模式.比如键入 Ctrl+a 光标会停在行首,Ctrl+e 光标会停在行尾等等. 如果希望在终端输入时使用 vi 的模式,比 ...