5

我是一名(理论)计算机科学专业的学生,​​因此研究编程语言的语义是我研究的主题之一(维基百科)。

我玩过很多 CSS 并且对盒子的定位规则有一个合理的理解。(如果你告诉我创建一个具有特定布局的页面,我通常可以想到正确的框方法和适用的 CSS 规则。)

为 CSS 框定位规则提供某种形式的语义会很酷,但是在网上搜索了一段时间后,我找不到任何有用的东西。

我大多只是简单地以 CSS 规范结束,这些规范被格式化为带有伪算法的长文本(不是最好的阅读材料——我还没有花太多精力阅读这些规范中的任何一个)。

没有人试图将这个“理论”形式化为某种数学模型,比规范所提供的更严格吗?我不是在寻找完整或确定的东西,但如果至少可以以正式的方式对盒子的放置方式进行建模,那么它肯定会很整洁(而且很有用!)。

有人知道这样的研究吗?

4

1 回答 1

2

没有答案! 这是一个非常简化的案例可能形式化的示例(请参阅我上面的评论)。

例如,假设我们在一个世界中工作,该世界具有 (1) 已知的屏幕宽度,(2) 没有嵌套的框在此处输入图像描述的有序列表,没有边距/填充/边框,向左浮动,其中我们通过数学函数和知道它们的 (2.1) 高度和 (2.2) 宽度。在此处输入图像描述在此处输入图像描述wH

我们将定义函数在此处输入图像描述在此处输入图像描述,它们表示每个框左上角的坐标。

我们将定义/使用关系“在此处输入图像描述开始线在此处输入图像描述”和“在此处输入图像描述有高度在此处输入图像描述”。

首先,在此处输入图像描述从第 0 行开始。

然后,如果在此处输入图像描述开始线l,而且如果确定米在 N

在此处输入图像描述

...我们得出结论:

  1. 某行中的框高度
  2. 某行中的框宽
  3. l有高度线高
  4. bm+1开始行l+1 iff米勒N

这些规则以正式的方式定义给定框的位置。当然,这只是一种方法,而且可能不是最聪明的(只是很快想到了),但它确实正确地形式化了浮点数的工作方式(模数错别字,我检查得不够好)。

在处理编程语言时,可以选择许多这些形式,每一种都是为特定目的而发明的(参见维基百科)。

我只是对是否有人尝试过为 CSS 框定位提出一些形式化感兴趣。当然,规范还有很长的路要走,但它们并不像数学方法强迫你那样严格。

于 2012-06-12T16:53:33.617 回答