仅将 CSS 样式表应用于单个 UserControl

Posted

技术标签:

【中文标题】仅将 CSS 样式表应用于单个 UserControl【英文标题】:Apply CSS StyleSheet to single UserControl Only 【发布时间】:2012-05-27 14:22:17 【问题描述】:

我有一个文件夹 /css,其中包含许多通用 css 样式表

如果我想将相同的样式表与其他 UserControls 一起使用,我如何才能仅在页面中将 ccs 样式表应用于特定的 UserControl?

css 被动态注入到文档中,因此 css 不知道 UserControl 当前显示的内容。

最多可以有 4 个不同的 css 文档注入到同一个页面中,但是,每个应该只影响一个用户控件。

关于如何做到这一点的任何想法?

【问题讨论】:

您对编辑 css 文件有任何控制权吗? 我可以通过编程方式对其进行编辑,但是 css 模板将被预先定义。 【参考方案1】:

可能会为用户控件提供它自己的皮肤文件,而 css 文件会为您工作。 由于主题是在 Page_PreInit 中完成的,这对 UserControl 不可用,我们仍然有一个选项。

Theme in user control

Apply Themes dynamically for UserControl in Silverlight 4.0

How to make user controls know about css classes in ASP.NET

【讨论】:

【参考方案2】:

我不确定我是否正确理解了您的问题。我认为css继承可以帮助你。

假设为第一个用户控件创建一个名为 mainDivCtrl1 的最外层 div,而不是您想要在控件中应用的类应该是这样的:

.mainDivCtrl1 div

.mainDivCtrl1 表

同样,您也可以对其他控件执行此操作。

【讨论】:

以上是关于仅将 CSS 样式表应用于单个 UserControl的主要内容,如果未能解决你的问题,请参考以下文章

如何仅将 CSS 样式应用于文本

仅将 IBAction 应用于单个单元格

带有外部样式表的div?

如何仅将样式应用于父元素?

我可以仅将样式应用于我的应用程序组件吗?

如何通过样式/主题仅将颜色控制*属性应用于工具栏而不影响其余项目样式