【问题标题】:Custom property names in LessCSSLessCSS 中的自定义属性名称
【发布时间】:2013-07-20 22:15:54
【问题描述】:

我正在尝试在我的 TinyMCE 编辑器样式表中为 EPiServer CMS 项目实现自定义 CSS 属性。

根据 EPiServer SDK,为了让我将自定义样式添加到 TinyMCE 样式下拉列表,我需要在我计划使用的样式类中使用 EditMenuName 属性。

类似这样的:

.h1 {
    font-size: 2.5em;
    EditMenuName: Heading 1;
}

将 EditMenuName 作为属性名称添加到我的 Less 文件会产生编译错误。

这有可能吗?

【问题讨论】:

  • 这是在 [this][1] 类似问题中回答的吗? [1]:stackoverflow.com/questions/17052003/…
  • 是的,the link tompipe 中发布的问题是 LESS 中的属性名称中不允许使用大写字母。我不知道这是错误还是缺少功能。

标签: tinymce less episerver dotless


【解决方案1】:

Update: This issue will be resolved in the release of LESS 1.4.2

您的问题是大写字母

由于似乎没有共识将其关闭为a duplicate of this question,因此我将在此处给出类似的答案。

LESS(无论是有意设计、无意缺少某项功能,还是仅仅是一个错误,我不知道)目前(截至本文发布)不允许在属性中使用大写字母名字。即使是标准属性也是如此,这样Color: 将不起作用。所以你的...

EditMenuName: Heading 1; 

...需要是这两个的一些变体...

editmenuname: Heading 1; 
edit-menu-name: Heading 1;

...它们都不可能与您的 TinyMCE 交互。在另一个答案中引用我自己的话:

我在实际的 LESS 代码本身中并没有确定孤立的位置 这可能是固定的(如果它可以固定为 LESS 处理 财产规则)。我怀疑原因在parser.js file 行 1578-1584(在撰写本文时),它们是:

property: function () {
  var name;

  if (name = $(/^(\*?-?[_a-z0-9-]+)\s*:/)) {
    return name[1];
  }
}

这似乎过滤掉了允许大写字母。我不 知道如果该正则表达式是 更改为允许它们。

因此,按照您的意愿制作界面的唯一机会是:

  1. 修复 LESS 以允许大写字母(可能通过调整上述代码)。
  2. 查看 TinyMCE 是否可以将属性值更改为不使用 CamelCasing 作为属性名称。

【讨论】:

  • 谢谢。看起来问题是 LessCSS 不接受大写字符。我会找到另一种方法来解决这个问题。
  • 我提交了an enhancement request to LESS for this issue 使用这个和另一个关于 SO 的问题,以验证为什么需要它的有效性。也许他们会很快做出回应。
  • @DzulqarnainNasir:LESS 1.4.2 的发布将解决此问题,以便在属性名称中允许使用大写字母。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 2021-10-07
  • 1970-01-01
  • 2019-01-24
相关资源
最近更新 更多