Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否存在封装CSS选项的现有.net类_.net_Css - Fatal编程技术网

是否存在封装CSS选项的现有.net类

是否存在封装CSS选项的现有.net类,.net,css,.net,Css,是否有一个现有的.net类(或可用类)已经封装了通过css提供的所有/大部分选项 即: MyStyleClass msc=新的MyStyleClass(); msc.font-family=“arial” 我正在寻找一个现有的类,它公开了这些属性,没有样式(“字体系列”)=“arial” 在搜索现有的.net框架时,我没有看到任何东西,但我可能没有找到正确的东西 为什么??我需要这个功能,并计划从类中设置的属性创建实际的.css,我不想重新发明轮子 :-) 更新 感谢您迄今为止的回答,但我的目

是否有一个现有的.net类(或可用类)已经封装了通过css提供的所有/大部分选项

即: MyStyleClass msc=新的MyStyleClass(); msc.font-family=“arial”

我正在寻找一个现有的类,它公开了这些属性,没有样式(“字体系列”)=“arial”

在搜索现有的.net框架时,我没有看到任何东西,但我可能没有找到正确的东西

为什么??我需要这个功能,并计划从类中设置的属性创建实际的.css,我不想重新发明轮子

:-)


更新
感谢您迄今为止的回答,但我的目标是不必创建这个类-我希望有一个内置的或第三方的(免费)属性,枚举等已经公开,所以我可以只声明对象并开始使用它。如果需要,我会创建它,只是我不想再发明轮子:-)

一种可能是使用字典,即:

Dictionary<string, string> msc = new Dictionary<string, string>();
msc["font-family"] = "arial";
Dictionary msc=newdictionary();
msc[“字体系列”]=“arial”;

为了实现这一点,您必须进行某种映射

存在一个类(System.Web.UI.WebControls.Style),该类公开基本属性,包括字体(它的属性是名称,可以接受字体名称)

编辑:查看是否也有帮助

是否存在现有的.net类(或 有一个)已经有了 封装所有/大部分选项 可通过css获得

在你的问题“全部/大部分”中,答案是否定的。我假设您想要的东西能够智能地知道这个特殊类所附加的HTML标记的类型,并提供带有get/set的所有相关CSS选择器/规则,并适当地编写它们?然而,这并不存在,对于第三方产品来说,这是个不错的主意


如果您正在寻找更简单的东西,它不智能地知道它是关联的html,但却拥有所有/大多数CSS选择器,这也不存在,您将不得不使用CSSStyleCollection。按照shahkalpesh的建议进行添加。

是的,您可以使用大多数显示对象的Style属性,HtmlTextWriterStyle的枚举是您相应的css属性:

HyperLink hl = new HyperLink() { Text = "StackOverFlow", NavigateUrl = "http://stackoverflow.com" };
hl.Style.Add(HtmlTextWriterStyle.Color, "red");
hl.Style.Add(HtmlTextWriterStyle.FontWeight, "bold");

这将创建一个超链接并添加一个内嵌样式:“颜色:红色;字体重量:粗体;”

此设计违反了CSS的全部原因—将代码和结构与表示分离。设计一个产生CSS的.net类,完全违背了使用CSS的理由,即允许图形设计师在不了解底层代码的情况下重新设计网站

正确的解决方案是,在要指定特定样式的元素上输出类名,然后将样式规则放入纯CSS文件中。这可能不是你想要的答案,但它仍然是正确的答案


编辑:理解问题(见评论)。对于客户端解析,请尝试包装一个C库,如。

我已经编写并发布了一个CSS解析器,位于

其最低级别API的对象模型是样式表的一对一表示,基于CSS语法(参见名称空间)

我的组件只支持阅读,不支持写作;但这是一个可以实现的API/对象模型的好例子,从中可以“从属性创建实际的.css”


还有一个。

谢谢,但我希望不必创建我自己的,我希望它是强类型,所以我可以做一些类似的事情:msc.fontfamine=“arial”;但是,如果我什么也找不到,我会创建一个,然后发布更好的,当我键入msc.fontfamine时,我希望出现一个现有字体名称的枚举:-)您是否看到了我下面所说的样式类?想象一下我正在编写一个浏览器:因此我需要解析CSS文件(为了将它指定的样式应用于我正在绘制的DOM节点)。在这种情况下,什么是解析CSS的好对象模型?我误解了你的问题。在这种情况下,我建议创建一个与现有C库(如libcss)的绑定(不要与DVD解密器混淆)或者查看是否存在WebKit或甚至(blergh)的现有版本,即。我不是OP。你可能没有误解最初的问题:我问了一个不同的补充问题。顺便说一句,谢谢你的回答。目的是生成一个.css文件,然后由设计师修改,但也由非设计师使用UI修改。:-)