0

如何获取 CSS 类中定义的样式的值?

标记具有:

CssClass="grdTextBox" Text="aaaaaaaabbbbbbbccccccc"

CSS 样式是:

.grdTextBox {FONT-SIZE: 12px; FONT-FAMILY: verdana; } 

.cs 文件具有:

string cssClass = txtComments.CssClass;
Response.Write(" cssClass is : " + cssClass);

如何从后面的代码中找到字体大小或字体系列的值?

如果它们在样式标签中或者它们是文本框的属性,我可以找到它们。但是如果它们是在 CSS 类中定义的,你怎么能找到这些值呢?

4

5 回答 5

5

你没有。由于缺乏真正的解释,CSS 是一种客户端技术。.css 文件中的样式在浏览器呈现之前不会直接与 html 元素相关联。

于 2009-05-06T20:42:03.267 回答
1

我面临同样的问题,我认为可以通过打开 .css 文件并手动搜索所请求的样式并返回其内容来找到一种解决方案。

它需要手动解析,也许你有多个 .css 文件,或者复杂的样式使这个解决方案有点可怕,但我认为它比“不可能”要好。

我很想听听更优雅的解决方案。

于 2012-05-18T20:25:10.493 回答
0
Me.Menu.Style("margin-top") = "170px"

如果您想使用内联样式,您可以更改它,否则您可以编写自己的 CSS 类型对象来操作 CSS。

实际上,您可以建立一个这样的库,以便人们可以下载和贡献,只是说。

于 2009-09-30T07:12:24.797 回答
0

你做不到。

您在 ASPX 中声明的样式已合并到输出中,但据我所知,它在后面的代码中不可见。

仅当您将其他样式添加到集合中时,例如 MyControl.Style.Add ("font-size", "12px") 才会有它。

于 2009-05-06T20:56:52.403 回答
0

您可以使用 HtmlAgilityPack 来完成。示例代码:

var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load("PageUrl");

IList<HtmlNode> nodes = doc.QuerySelectorAll("div .my-class[data-attr=123] > ul li");
HtmlNode node = nodes.QuerySelector("p.with-this-class span[data-myattr]");
于 2016-08-17T19:28:38.973 回答