Dan*_*ows 2 css dom server-side
是否可以在服务器端运行浏览器运行的相同进程,以便将CSS应用于DOM?
例如,我是否可以使用HTML文档,应用所有CSS规则(链接,嵌入和内联)来确定其属性的任何元素.我最关心的是盒子模型(即它的位置,边距,边框和填充).
到目前为止,我能想到的唯一方法是使用Selenium RC和jQuery来传递值.然而,这似乎是非常耗费资源的,所以我想知道是否还有另一种方式.我查看了Google并搜索"解析CSS"只会带来阅读单个样式的结果,而不是将所有CSS规则应用于整个DOM,然后计算出结果.
任何语言都可以.
您正在构建一个API,允许知道HTML和CSS的人生成Java GUI.API允许开发人员传入他们的HTML,然后返回所有代码以构建GUI,所有元素具有相同的大小和位置.
首先阅读本文档,了解浏览器如何实现计算类似需要布局引擎的工作.诸如渲染字体和图像的尺寸之类的东西,以及具有复杂的边距折叠规则的盒子模型,以及更多都影响最终布局.
除非您可以在服务器端应用程序中托管布局引擎(如WebKit),否则您正在考虑实现布局引擎,减去实际绘制到屏幕,只是为了建立应用程序的布局(如果我正确理解您的要求).
话虽如此,WebKit引擎在很多项目中使用,但大多数是浏览器或其他客户端软件.快速搜索Google确实找到了一个有趣的结果:
如果您无法托管现有布局引擎,则可能存在一些类似HTML的(XML)UI布局技术.也许那些是更好的选择?例如微软的Silverlight/XAML,Adobe的MXML(也支持一些CSS规则),UIML或Mozilla的XUL.
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |