【问题标题】:Allowed html/css/javascript - class syntax允许的 html/css/javascript - 类语法
【发布时间】:2010-02-03 14:14:47
【问题描述】:

我需要从内容定义 html 类,所以几乎每个字符都可以使用。根据html reference,我可能会使用cdata,所以我应该不会遇到问题。不过我认为,css 和/或 javascript/jquery 不能很好地配合它。

任何人都知道哪些字符可以毫无问题地使用,或者是否有一个函数/插件/..可以整理类名,以便它们可用?

【问题讨论】:

标签: javascript jquery html css syntax


【解决方案1】:

css 类名必须是常用标识符 (http://www.w3.org/TR/CSS21/syndata.html#characters)

在 CSS 2.1 中,标识符(包括 中的元素名称、类和 ID 选择器)只能包含 字符 [A-Za-z0-9] 和 ISO 10646 字符 U+00A1 和更高,加上 连字符 (-) 和下划线 (_); 它们不能以数字开头。

Javascript 不介意,因为您将使用类名作为字符串。因此,就 javascript 而言,您可以使用任何字符。

如果您想将类名剥离为可用的 css 子集,一个简单的正则表达式就足够了。如果你想将你的类名编码到同一个子集中,这会有点困难,但我想你可以尝试Base64-encode他们。这里有一些用于 base64 编码/解码的jQuery plugins

【讨论】:

  • 由于他没有要求具体的版本,有趣的是,HTML 3 中的类过去是用句点分隔的。
【解决方案2】:

就类属性而言,使用 [a-z]、[A-Z] 和 [_-] 以外的字符时会遇到问题。

对于任意数据,我建议使用(HTML5 即将推出)data-x 属性。
示例见http://ejohn.org/blog/html-5-data-attributes/

干杯

【讨论】:

  • 感谢您提供的信息。我以前没有读过,但听起来很有趣..
猜你喜欢
  • 1970-01-01
  • 2014-01-19
  • 2021-02-28
  • 2013-06-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 2015-10-19
相关资源
最近更新 更多