CSS和Latex如何组织盒子有什么区别? (段落或图形元素。)
答案 0 :(得分:16)
具有从输入语言的处理产生的页面布局的分层盒装表示并且然后变成渲染页面的一般方案在两个模型之间基本相似。给我留下最深刻印象的四个差异是:
答案 1 :(得分:1)
CSS的规格并不难找,当然它们包含a chapter on the box model。
LaTeX的信息有点难以找到,但您可以查看here,在那里可以阅读:
LaTeX通过推送盒子来构建其页面。起初,每个字母都是一个小盒子,然后粘在其他字母上形成单词。它们再粘合在一起,但是使用特殊的胶水,这是一种弹性,可以挤压或拉伸一系列单词,以便在页面上精确填充一条线。
我承认,这是一个非常简单的真实版本,但重点是TeX在胶水和盒子上运行。信件不是唯一可以装箱的东西。你几乎可以将所有东西放入一个盒子里,包括其他盒子。然后每个框将由LaTeX处理,就好像它是一个字母一样。
我认为这与CSS非常不同,但是对于细节我恐怕你必须阅读书籍,例如Knuth的TeX书,或Mittelbach等的LaTeX伴侣。人
米尔。
答案 2 :(得分:1)
关于这一重要问题的讨论很少。
我希望HTML / CSS布局基于TeX的一个主要原因是:缺少胶水或弹簧。
TeX并不需要真正使用此功能,因为始终使用TeX在固定页面上布置内容。但是在Web浏览器上(从屏幕尺寸超过640 x 480像素以来),最自然的事情就是调整其尺寸,尤其是宽度。
在CSS中,很难布置像幻灯片一样的内容,其中中心的框架占据了大部分空间,并且前后左右分别有2条细细的条纹,然后分别调整了大小,特别是当我们到达光谱的最窄端时。而且,从广义上讲,不会像许多现代CSS布局那样浪费所有空间。
在TeX中,这很容易。您有一个hbox,它具有可伸缩的中心框架,并且前进和后退按钮的大小都是固定的。
随着页面宽度的增加,只有中心框架会扩大,而当页面宽度减小时,只有中心框架会变得更窄,直到所有的收缩值都用完(最小宽度),然后它就会停止(并且应该是水平方向)滚动条就会出现。
这是我感到CSS严重缺失的一个关键方面。 Knuth在动态屏幕布局离成为现实还差几十年的时候就发明了它,这自然而又令人惊奇。可悲的是,这个天才被遗忘了。
我认为盒子和胶水模型被认为是
所有这些都是IMO非常薄弱的论点。
相同的问题出现在Java / Swing Layout方案中。我记得15年前我在Java中实现了一个真正的Box and Glue Layout,与SWT一起使用。一旦拥有,那就太棒了。
我正在等待真正的盒子和胶水布局选项出现在我的程序员生涯结束之前的某些下一代CSS中,我希望很快,所以我仍然可以使用它几年。