问题标签 [css-parsing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
308 浏览

html - 为什么 OpenURI 从原始源返回不同的 HTML 内容?

我正在尝试使用 OpenUri 和 Nokogiri 从 HTML 源中获取样式内容。

这会返回nil,但 Google 页面的 HTML 包含id="gstyle". 这是输出结果的图像:

在此处输入图像描述

  1. 为什么在本例中的 Google HTML 页面与 OpenUri 返回的页面不同?
  2. 我怎样才能找到这个标签style#gstyle
  3. 为什么 Firebug 能看到正确的 HTML 文档而 OpenUri 没有?
0 投票
1 回答
81 浏览

c# - 在 C# 中解析嵌套的 CSS 样式的文本

我希望在 C# 中将文本作为字符串输入,如BEFORE_PROCESSING标题下所示。该文本的格式需要如下:

  1. 没有任何样式标签的裸句(例如句子1)必须获得样式标签才能使整个句子变为粗体
  2. 需要识别已经有样式标签的句子,并且必须将它们的前景色元素设置为“fg:Red”,以使整个句子看起来是红色的。
  3. 已经有样式标签的句子可能有嵌套的样式标签。所以,这是需要考虑的。

例如,格式化完成后,BEFORE_PROCESSING标题中的句子应该看起来像AFTER_PROCESSING下的文本。

我的问题是在 C# 中实现这种文本处理业务的最有效方法是什么?是使用正则表达式还是矫枉过正?您认为可能存在更好的替代方案吗?谢谢。

(我正在使用 C#4)

BEFORE_PROCESSING

AFTER_PROCESSING

0 投票
1 回答
1259 浏览

php - 在文件中包含 php 包而不是 composer

我想包含一个 php 包,一个 css 解析器:https ://github.com/sabberworm/PHP-CSS-Parser在安装指南中它说“将 php-css-parser 添加到您的 composer.json”:

(我什至不知道 composer.json 是什么)因为我只需要一个脚本,有没有办法只将它包含在一个文件中?喜欢:

谢谢

0 投票
0 回答
317 浏览

java - 需要通过 URL 从网站获取所有样式表 - JAVA

大家好,我的项目需要一个 CSS 解析器。我只是环顾四周,发现总是相同的库。但是他们没有从网站获取 CSS 文件或代码的实现。他们都需要我没有的本地文件,因为我想分析例如 Facebook 或 Twitter 等。

有没有为此目的的图书馆?

我已经找到了像 -> CSSPARSER, SAC 这样的库

编辑:

为我的问题找到了解决方案。首先,我使用 JSOUP 找出哪个链接属于 CSS 样式表。然后我过滤它并将 CSS 文件的 URL 保存到一个字符串变量中。之后,我以给定的名称下载此文件并将此文件放入 CSS 解析器,现在它可以工作了。

0 投票
1 回答
1557 浏览

css - 当一部分未知时,为什么 CSS 逗号分隔选择器会破坏整个规则?

解释问题:

所以如果你有一个看起来像这样的 CSS 规则:

它工作得很好,从可用性的角度来看,这个例子可能是最好的,但它确实有效。(它可以证明这个问题......)

但是,如果您添加浏览器不理解的逗号 ( , ) 分隔符,则会忽略空洞规则。

不理解:focus-within 伪类的浏览器将忽略整个规则。这意味着即使是 h1 也不会得到指定的规则。


进一步想知道为什么会这样:

不要误会我的意思。忽略他们不知道的东西是 CSS 中一个非常强大的功能!

但是为什么不设计成只忽略未知部分而所有其他选择器仍然按预期工作?

就我个人而言,我很少偶然发现这个问题,并且我已经接受了选择器中的一个错误事情破坏了整个规则的事实。但是很难解释为什么一个错误的声明或属性只会导致特定的行被忽略,而选择器中的任何未知都会破坏整个块。

感觉好像我错过了一些东西,所以如果有一个很好的解释,请告诉我并感谢您这样做。


不满意的解决方案:

当然,解决方法是将选择器的“危险”部分分成新规则,如下所示:

但这感觉很糟糕。(由于“不必要的”重复)

只是想把它放在这里。

0 投票
1 回答
2090 浏览

anglesharp - 如何使用 AngleSharp 从解析的 html 元素中获取 css 属性

有这个CSS:

而这个HTML:

而这个 C#:

如何获取元素的关联背景宽度和高度?

(目前我使用的是 AngleSharp 0.9.9 版)

0 投票
0 回答
271 浏览

javascript - 使用 Java 的 css 解析器并将其导出到表中

我需要对 CSS 进行解析。

例如:

我需要名称和颜色,并用这些信息生成一个表格。

0 投票
1 回答
485 浏览

performance - 你应该以什么顺序列出 CSS 属性以获得最快的速度?

让我们获取一些 CSS 属性并将它们随机放置在我们的 CSS 文件中:

轮廓
伪元素
颜色属性
背景和边框属性
框属性
灵活框布局
文本属性
文本装饰属性
字体属性
书写模式
表格属性
列表
动画


如果你想最大化渲染速度,你应该以什么顺序列出你的 CSS 属性?

0 投票
3 回答
402 浏览

css - CSS 性能 - 分组还是不分组?

我想知道在 CSS 中对规则进行分组可能会对解析和渲染性能产生什么影响。

方法一:

与方法2:

当然,我们讨论的是具有相同规则分组的大型 css 文件,因此有时相同的选择器会被分割成很多块。

它对 CSS 解析和渲染的影响是否足以放弃这种方法以支持更大的文件,但更清洁并在一个选择器中收集所有规则?

选择器匹配可能很昂贵。在现实生活中,这些选择器中的每一个都不仅仅是一个类,而是 2-3 个嵌套类。因此对于每个元素,浏览器必须匹配选择器三次才能应用所有规则。首先是边距,然后是填充,然后应用颜色。第二种方法似乎非常昂贵。

0 投票
1 回答
508 浏览

javascript - 使用选择器感知将 CSS 解析为 JavaScript

我想构建一个可以使用.css文件的东西,返回一个函数,该函数将采用类名数组并返回将应用于具有这些类名的元素的样式,作为 JavaScript 对象。(这样的工具适用于 Glamour、Fela 或其他 CSS-in-JS 技术。)

例如,如果你有这个 CSS 文件:

那么你可以做这样的事情:

在这个例子中,.btn-group被忽略了,因为我们只询问了哪种样式适用于.btn.primary.

这对我来说是一个新领域,但我知道那里有解析 CSS 的工具。哪些图书馆最有希望看看?(或者,这样的东西已经存在了吗?)