如何获取CSS类中定义的样式的值?
标记有:
CssClass="grdTextBox" Text="aaaaaaaabbbbbbbccccccc"
CSS样式是:
.grdTextBox {FONT-SIZE: 12px; FONT-FAMILY: verdana; }
.cs文件包含:
string cssClass = txtComments.CssClass;
Response.Write(" cssClass is : " + cssClass);
如何从代码后面找到字体大小或字体系列的值?
如果它们在样式标记中或者它们是文本框的属性,我可以找到它们。但是如果它们是在CSS类中定义的,那么如何找到它们呢?
答案 0 :(得分:5)
你没有。由于缺乏真正的解释,CSS是一种客户端技术。在浏览器呈现之前,.css文件中的样式不直接与html元素相关联。
答案 1 :(得分:1)
我面临同样的问题,我认为通过打开.css文件并手动搜索所请求的样式并返回其内容,可以有一种解决方案。
这需要手动解析,也许你有多个.css文件,或者复杂的风格让这个解决方案有点可怕,但我认为它比#34;更不可能"
我很想听听更优雅的解决方案。
答案 2 :(得分:0)
你不能这样做。
您在ASPX中声明的样式将合并到输出中,但据我所知,它在后面的代码中不可见。
只有当您向集合中添加其他样式(如MyControl.Style.Add(“font-size”,“12px”))时,您才能拥有它。
答案 3 :(得分:0)
Me.Menu.Style("margin-top") = "170px"
如果要使用内联样式,可以更改它,否则可以编写自己的CSS类型对象来操作CSS。
实际上你可以建立一个这样的图书馆,以便人们可以下载和贡献,只是说。
答案 4 :(得分: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]");