CSS元结构在哪里定义;是什么造就了 CSS "well formed"



pre:这不是一个CSS提示或技巧问题。

问题是语法上允许什么而不是语义上正确的

这可能是css属性和css值中允许使用的字符的重复,但"重复"的答案是IMHO,而不是问题的答案

我想使用"用户定义的属性"并解析CSS服务器端。

场景:我的客户能够使用CSS文件对他的报告进行样式设置。这份报告中有图表,我想通过一条规则来设计它们的样式,比如:

div.sell-types {
    width:60mm;
    height:60mm;
    float:left;
    -user-chart: pie green red blue 10%; // pie chart, colors to use, put values <10% into one
    -user-number-format: 2 ",."  // ie. 10,000.00 works, but ok?
    } 

我解析了这个CSS服务器端,现在可以根据需要渲染图表了。

浏览器只是忽略了这个-用户xxx每个定义。

所有这些都已经启动并运行,但CSS解析过程仍然是基于试错

因此,我对允许的属性/值组合不感兴趣,所以在解析时,我唯一感兴趣的是-user-xxx属性。

举个例子:

div { 
    height: blue; /* wrong :-) */
    }

是错误的,但如果客户想要一个蓝色的高度,他会得到它,语法是可以的

div { 
    height: b l u e; /* wrong, but syntax ok - I would think */
    width: gr:een;  /* very bad - I think */  
    back ground: blue; /* very bad - I think */
    reminder: 'mothers day' /* syntax ok - I would think */
    }

部分语法错误。

但这是在哪里定义的呢?我想删除上面的"我想"。

编辑:由于客户提供了一个SCSS,我解析编译器输出,我希望有一个语法正确的CSS

  1. 正确答案

这里:CSS语法模块级别3-W3C

玩得开心4标记化5解析章节!

  1. 错误的答案

"在‘;’上拆分,然后在‘:’上拆分",因为两者都不能(而且迟早会)成为例如的一部分

`background-image: url(...);`
  1. 温和务实的回答:

如果你不希望有人和你一起玩游戏,那么如果你以某种方式控制CSS输入,如果你注意到";:"在副题(所有类型)和引号("one_answers")中,因此通常怀疑

最新更新