【问题标题】:CSS parse error on a[href=#s] selector[href=#s] 选择器上的 CSS 解析错误
【发布时间】:2014-02-12 18:35:31
【问题描述】:

我为大约 1000 人的 subreddit 完成了我的 Reddit 项目 (CSS)。一切正常,花花公子,但是等等,我尝试在 w3schools 中验证它,它抛出了这个:

http://pastebin.com/VfSCrym8

如果你需要我的 CSS 文件,你就去吧……我被这个问题困住了

http://pastebin.com/dhyCPe3w

哦,我也尝试在 Reddit 上上传它,但它出现了相同错误的类似变体:

[第 173 行] 语法错误:“选择器:意外 HASH。[173:8: #s]”

a[href=#s], a[href=/s] { /*...*/ }

如果你能解决这个可怕的错误,那么我永远欠你的债!如果您还需要 Html 文件来纠正它,请说

编辑:

谢谢大家,

也引发了这个错误:

[第 1825 行] 语法错误:“选择器:意外 HASH。[1825:30: > #icon-]”

.side .md blockquote a[href*=#icon-]:before {

试过""但没用?

【问题讨论】:

  • 我相信我昨天用引号试过了,我再试一次看看。抱歉,是 w3.ord。这里好像是凌晨 5 点,我的大脑不太好。
  • 你为什么要使用 w3schools 来验证任何东西?使用W3C's CSS Validation service。 W3Schools 是一个糟糕的资源。顺便说一句,你确实需要引号。
  • @user3302972 使用引号有效。不过,你得把它们全部搞定。

标签: css syntax syntax-error parse-error


【解决方案1】:

你需要引用

href="#s"

第 317 行还有一个额外的 }

不透明的东西很可能是因为它是 IE hack

与 W3 标准相比,验证器检查错误,因此您必须对它持保留态度。这个 CSS 的大部分仍然可以工作。但是 CSS 选择器需要用引号括起来才能正确(它可能仍然可以在您的浏览器中使用)

编辑:正如 user2864740 所述 - use the W3 CSS validator

【讨论】:

  • 哦,谢谢 :) 编辑:快完成了,但它抛出了这个:[line 1825] 语法错误:“Selector: Unexpected HASH. [1825:30: #icon-]” .side .md blockquote a[href*=#icon-]:before { 我尝试将引号放在 # 周围和图标或 - 之后,但都不起作用...?
  • @user3302972 和上面一样.. a[href*="#icon-"]。回到有效 CSS 标识符的规则,看看是否可以为值省略引号。或者,如有疑问,请引用。 (引号围绕 整个 值。)
  • @user3302972 a[href*=#icon-] 已报告,我建议 a[href*="#icon-"] 因为它起作用 - 同一行可能有两个(或更多)这样的规则吗?跨度>
  • 呃,这不是我的日子。我做到了...哈哈但是我编辑了错误的代码行-_-
【解决方案2】:

选择器值需要被引用(单引号或双引号)

a[href="#s"], a[href='/s']

因为#s/s 都不遵循 CSS 的规则,所以必须使用字符串。


CSS 标识符标记在表单中,允许转义:

-?[a-zA-Z_{Non-ASCII}][a-zA-Z0-9_{Non-ASCII}]

原始 CSS 语法无效,因为 #(和 /) ASCII,但不在批准的集合中。


如果不这样做,我建议使用W3C CSS Validator;请注意,W3C 与 W3 学校不相关

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2018-10-08
    • 2013-07-27
    • 2012-04-28
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多