CSS是一种什么样的语言?

时间:2010-04-19 21:21:37

标签: css definition

CSS是什么语言?

我的第一个倾向是称它为标记语言......但它并不适合模具:

  

标记语言是一种系统   以某种方式注释文本   在语法上可以区分   那个文字。 - wikipedia

CSS使用各种选择器将属性应用于 HTML中的元素,这是一种标记语言

5 个答案:

答案 0 :(得分:35)

我想说这是一种特定于域的declarative语言。

答案 1 :(得分:5)

CSS本身并非真正一种语言;它更像是用于描述配置指令的语法。

事实上,这些都不是; CSS是对许多令牌及其视觉含义的描述; .css文件包含这些令牌,其结构允许计算机解析它们。 CSS声明可以采用SVG文档中name =“value”声明的形式;并且.css文件结构可以很容易地用于,例如,在FreeCiv的一个特别荒谬的迭代中包含单元描述。

维基百科将其定义为样式表语言似乎是对一种奇异存在现象的概括的强制定义;并且应该清楚它不是一种标记语言,因为它实际上并没有标记任何东西。

答案 2 :(得分:5)

从语法上讲,CSS是两种语言的混合:选择器的语言,它是模式匹配的语言,如regexps或xpath,以及属性的语言,可以归类为“程序声明”,因为属性本质上是赋值运算符。在主观层面上,css显然有点像丑陋的混乱,就像语言设计领域的集体努力的其他所有成果一样(“骆驼是由委员会设计的马”)。

答案 3 :(得分:3)

CSS绝对是一种语言:

维基百科将css称为“样式表语言

http://en.wikipedia.org/wiki/Style_sheet_language

同样来自开发CSS的W3C :(比较

  

独特的功能是CSS可以用来设置HTML& XML文档。另一方面,XSL能够转换文档。例如,XSL可用于将XML数据转换为Web服务器上的HTML / CSS文档。这样,两种语言相互补充,可以一起使用。

     

两种语言都可用于设置XML文档的样式。

从第二句中可以看出,W3C将CSS称为语言。

http://www.w3.org/Style/

再次引用同一篇文章:

  

除了 CSS 之外,W3C已经开发了 XSL 这一事实引起了一些混乱。当实施者甚至没有完成第一个时,为什么要开发第二个样式表语言?答案可以在下表中找到:

                            CSS     XSL
Can be used with HTML?      yes      no 
Can be used with XML?       yes     yes
Transformation language?     no     yes
Syntax                      CSS     XML

答案 4 :(得分:1)

CSS具有定义明确的语法,因此它是一种语言,如果您必须在CSS是声明式还是命令式之间进行选择,那么它将是声明式的,因为其操作结果由程序实际解释和确定。处理CSS。

但是,您不能仅凭CSS来构建任何有用的东西。它需要一个文档来操作,而CSS所做的只是为文档提供补充信息;实际上,CCS是操作文档的一部分。

CSS的问题在于它被用作HTML到DOM生成过程的一部分。因此,CSS的行为类似于“混乱”的全局变量,因此,开发人员必须应对CSS带来的过多讨厌的副作用。

希望CSS的发明者HåkonWium Lie和W3C的主要参与者有一天会认识到CSS从一开始到今天都是错误的,并且是实现分离的错误路径。语义标记和表示。

如今,CCS通过@media查询获得了命令性功能,并通过@operator进行了定位,例如@screen和@print。但是,这些新功能都无法纠正CSS的基本缺陷:令人敬畏的全局变量,以及臭名昭著的不合理使用副作用及其元素选择器。

不幸的是,对CSS作为一种语言的研究比对真正的编程语言的研究更为复杂,因为使用它的示例比实际的更为有趣,因此需要像Bootstrap这样的全面的CSS框架和其他框架才能获得工作完成。