代码之家  ›  专栏  ›  技术社区  ›  Peter Lillevold Rene

如何在asp.net ajax中重用telerik radcontrols中的css样式

  •  5
  • Peter Lillevold Rene  · 技术社区  · 15 年前

    Telerik RadControls内置了对蒙皮的支持,并使用CSS设置所有控件的样式。但是,将这些控件插入现有网站时,将现有网站的样式与radcontrols自己的样式合并的最佳方式是什么?

    更新: 提供以下选项(感谢Zhaph):

    1. 将radcontrol的css添加到我的站点
    2. 使radcontrols看起来更像我的站点
    3. 将我的网站css选择添加到radcontrol样式列表

    什么是最好的选择?

    选项2将要求我继续保持两组样式。 所以最好选择1。这样就可以在整个站点中重用radcontrols样式的系统,例如让按钮和简单控件看起来相同。

    更新2(从我的答案中删除): 我最后做了一个组合。使用 the FormDecorator 允许在我自己的按钮和输入上重用radcontrols样式。另外,将telerik提供的皮肤复制到我的asp.net主题中可以自定义皮肤。

    3 回复  |  直到 12 年前
        1
  •  2
  •   Zhaph - Ben Duguid    15 年前

    我不得不承认,我已经有一段时间没有使用radcontrols了-我们在一些cms站点上使用了cms radeditor,它可以自动提取您的样式表,并将类添加到其列表中,或者您可以手动添加一些。

    看一下文档,一些比特可能会有帮助:

    1. RadEditor CSS Classes and Their Use -尽管通常这些都是由我认为的控件自动添加的?
    2. 1的链接。也告诉你怎么做
    3. 有几个选择
        2
  •  1
  •   dove    12 年前

    我只想添加;formdecorator只对某些类型的控件应用css。如果你有一个没有样式的控件,你可以访问TeleRK资源,像这样:

    .cs文件-具有如下公共属性:

    public string HeaderDivBackgroundURL
    {
       get
    {
    {
         string backgroundURL = string.Empty;
         string skin = ((MainMaster)Page.Master).AppSkin;
         backgroundURL = Page.ClientScript.GetWebResourceUrl(typeof(RadSplitter), "Telerik.Web.UI.Skins." + skin + ".Splitter.slideTitleContainerBgr.gif");
         return backgroundURL;
       }
    }
    
    }
    

    在aspx页面(在radcodeblock中)中,只需从该属性中读取一个内部样式表:

    <tel:RadCodeBlock runat="server">
        <style type="text/css">
            .telerikBackgroundMock
            {
                background: url('<%= HeaderDivBackgroundURL %>') repeat-x;
            }
        </style>
    </tel:RadCodeBlock>
    

    我发现这对于将telerik皮肤应用于非telerik控件非常有用,这种方法仍然是动态的,并且随着皮肤的变化而变化。

        3
  •  0
  •   Todd    14 年前

    作为对该线程的更新,现在有一个用于telerik ajax和mvc工具的在线“样式生成器”,它支持对内置皮肤的可视化配置/自定义:

    http://stylebuilder.telerik.com/

    此工具消除了理解每个控件的css类定义的需要,并允许您轻松自定义一个内置主题以更好地匹配您的站点。