覆盖 ASP.NET AJAX 控件工具包的 TabContainer 控件中的默认 CSS

Posted

技术标签:

【中文标题】覆盖 ASP.NET AJAX 控件工具包的 TabContainer 控件中的默认 CSS【英文标题】:Overriding Default CSS in ASP.NET AJAX Control Toolkit's TabContainer Control 【发布时间】:2012-05-14 03:38:26 【问题描述】:

我在 Web 应用程序中使用 ASP.NET AJAX TabContainer 控件。我已将图像放置在每个选项卡的标题中,而不是使用文本 - 但图像被截断 b/c TabContainer 的默认 CSS 声明标题只有 13px 高:

.ajax__tab_xp .ajax__tab_header .ajax__tab_tab 
 
    height:13px;
    padding:4px;
    margin:0px;
    background:url("tab.gif") repeat-x;
  

我有一个我正在使用的 CSS 文件,并添加了以下行来覆盖 TabContainer 的默认 CSS 中包含的内容:

.ajax__tab_xp .ajax__tab_header .ajax__tab_tab 
 
    height:83px;
    padding:4px;
    margin:0px;
    background:url("tab.gif") repeat-x;
  

但是还是使用默认的13px,为什么?

您可以在此处查看默认 css 文件:Default CSS File

【问题讨论】:

我发现解决这个问题的唯一方法是下载 AJAX 工具包源代码并去掉废话,以便控件真正可用。 【参考方案1】:

我不得不修改一些网络表单,升级到引导程序,突然我注意到有些页面有

所以我看到生成的类是

class="ajax__tab_xp"

因此根据上面的答案,我发现我只需要 25px

   .ajax__tab_xp .ajax__tab_header .ajax__tab_tab 
    
        height:25px !important;
    

这应该对其他人有用。

【讨论】:

【参考方案2】:

戴夫,

我也做了同样的事情。复制 Tab CSS 并修改为我心中的内容。他们我试图禁用标签。使用默认 CSS 可以正常工作。我认为我的版本中一定缺少某些东西。但是检查生成的源代码,TAB 似乎在页面中生成了一些 js 来启用/禁用 - 如果我们被允许在这个项目中这样做,我会首先使用 JQuery。

如果您不想去 javascript 城市,请使用 !Important 覆盖默认 css。

【讨论】:

【参考方案3】:

经过一番折腾,我得到了它的工作,虽然我不完全确定我做了什么......

我想,我必须:

    手动将 CssClass 添加到 ajaxToolkit:TabContainer,即使通过它似乎没有生成的属性进行设置也是如此。

    我尝试覆盖类 ajax__tab_xp,但没有奏效,因此我创建了一个名为 ajax__custom 的新类,并且它奏效了。所以我的 CSS 最终看起来像:

    .ajax__custom .ajax__tab_header .ajax__tab_tab
    
        height: 100px;
    
    

希望这对其他人有所帮助。

【讨论】:

我正在修改类,我只需要 __xp 和 25 px 就可以了【参考方案4】:

尝试像这样使用 !important:

.ajax__tab_xp .ajax__tab_header .ajax__tab_tab 

    height:83px !important;

顺便说一句,如果不更改默认类的其他属性,则不必重新键入它们...

【讨论】:

谢谢,虽然...不幸的是,这并没有什么不同。

以上是关于覆盖 ASP.NET AJAX 控件工具包的 TabContainer 控件中的默认 CSS的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 .NET 3.5 Web 应用程序中安装和使用 ASP.NET AJAX 控件工具包?

ASP.Net Ajax:如何从其DLL中向asp.net 2.0工具箱添加自定义控件

AJAX界面开发工具Telerik UI for ASP.NET AJAX全新发布R3 2020

界面开发工具Telerik UI for ASP.NET AJAX发布R2 2020

ASP.NET MVC 中的 ASP.NET AJAX 与 jQuery

使用 Ajax Control Toolkit for ASP.net 时如何避免重新发布语言文件夹