[英]How to get a CSS class property value in code behind
如何獲得CSS類中定義的樣式的值?
標記具有:
CssClass="grdTextBox" Text="aaaaaaaabbbbbbbccccccc"
CSS樣式是:
.grdTextBox {FONT-SIZE: 12px; FONT-FAMILY: verdana; }
.cs文件具有:
string cssClass = txtComments.CssClass;
Response.Write(" cssClass is : " + cssClass);
如何從后面的代碼中找到字體大小或字體系列的值?
我可以找到它們是否在樣式標簽中,或者它們是否是文本框的屬性。 但是,如果它們在CSS類中定義,那么如何找到它們呢?
你不知道 由於缺乏真實的解釋,CSS是一種客戶端技術。 .css文件中的樣式只有在瀏覽器將其呈現之前才與html元素直接關聯。
我面臨着同樣的問題,我認為可以通過打開.css文件並手動搜索所請求的樣式,然后返回其內容來解決。
這將需要手動解析,也許您有多個.css文件,或者復雜的樣式使此解決方案有些可怕,但我認為這比“不可能”要好。
我希望聽到更優雅的解決方案。
Me.Menu.Style("margin-top") = "170px"
如果要使用內聯樣式,則可以更改它,否則可以編寫自己的CSS類型對象來操縱CSS。
實際上,您可以像這樣建立一個庫,以便人們可以下載和貢獻。
您可以使用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]");
你做不到。
您在ASPX中聲明的樣式將合並到輸出中,但據我所知,它在后面的代碼中不可見。
僅當您向集合中添加其他樣式(如MyControl.Style.Add(“ font-size”,“ 12px”))時,您才會在其中使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.