【问题标题】:How do I add a CSS property on notepad++ via xml?如何通过 xml 在 notepad++ 上添加 CSS 属性?
【发布时间】:2015-08-15 04:10:25
【问题描述】:

我的 CSS 规则以“::selection”开头,当我运行它时它可以在 google chrome 中运行,但 notepad++ 说它是一个未知的 CSS 属性。如何更改 notepad++ 文件以添加此规则和其他规则?

【问题讨论】:

  • Notepad++ 不支持 CSS3 伪元素语法 AFAIK。
  • @BoltClock Notepad++ 只是一个文本编辑器,它不需要支持(无论如何)任何 CSS。
  • @transistor09:这是一个带有语法高亮的文本编辑器。语法高亮器需要理解一种语言才能高亮以该语言编写的代码。在这种情况下,几乎暗示对一种语言的“支持”是指解析和突出显示该语言中代码的能力,而不是实现该语言。
  • @BoltClock 哇哦。令人惊讶的是,我第一次阅读问题时的错误程度。很抱歉引起骚动。

标签: css notepad++


【解决方案1】:

深入研究 langs.xml 文件,我们发现:

<Language name="css" ext="css" commentStart="/*" commentEnd="*/">
    <Keywords name="instre1">-khtml-border-radius <!-- ... --></Keywords>
    <Keywords name="instre2">active after before <!-- ... --> selection target valid visited</Keywords>
</Language>

特别注意“instre2”部分(“instre1”是属性列表,而不是选择器)。这似乎表明 Notepad++ 的语法高亮确实可以识别“selection”关键字。

如问题所示,Notepad++ 未正确突出显示 ::selection。但是,它确实:focus:before 一样突出显示 :selection,尽管 ::selection 由于是较新的伪元素而需要双冒号语法。

Notepad++ 将以下示例突出显示为“伪类”(伪类和遗留伪元素):

  • :first-child
  • :focus
  • :before
  • :after
  • :selection(不正确)

但它没有将以下示例突出显示为伪元素:

  • ::before
  • ::after
  • ::selection(正确)

这表明 Notepad++ 的语法荧光笔根本无法识别伪元素的 CSS3 双冒号语法。不幸的是,除了等待更新版本的 Notepad++ 支持它之外,我不确定这里有什么可以做的。事实上,我不会依赖 Notepad++ 来检查您的选择器语法,因为它通常在突出显示选择器方面做得不太好。

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 2012-11-22
    • 2020-09-11
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2015-12-04
    相关资源
    最近更新 更多