Telerik UI干扰了自己的风格

时间:2016-12-02 18:35:02

标签: css webforms webresource.axd telerik-ajax telerik-window

因此,在我目前的项目中,我们在过去几周遇到了一个特别有害的问题:Telerik RadWindow样式不再正常呈现。边框周围似乎有一些额外的空间,窗口图标在左上方齐平,标题栏按钮存在,但它们的图标是不可见的。我们遇到的问题与RadAlert和RadWindow完全相同。我的队友也使用Firefox和IE,他们一直有同样的问题。

然而: 此问题未在所有网页上展示。 RadWindows在给定页面上是否正常,对于该页面始终是一致的。早些时候我注意到,当窗口正确显示时,Chrome每次都会下载一个新样式表,尽管禁用缓存并没有改变任何内容。

我注意到用于错误样式表的URL与正常样式表不同。我分解了查询字符串以进行比较,_TSM_CombinedScripts_参数给出了不同的公钥标记。它们在开始时实际上是相同的,但到最后它们完全不同。

normal:

d=d_7ijIXc06Eqg7xyrMT_AE_WxZL3XaVJz_VwsvOdK_1ssgHIAGoqaJzPVn-aFQFJVakZqv0a6M6IUW8lKaDBl-g9FohhCb-0KC2Mu14d6L4y47PrZb-wQiVUGqaxwCy7qcc2Dw2
t=635823632443834005
compress=1
_TSM_CombinedScripts_=
    ;;Telerik.Web.UI, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:cd668efa-682a-4e93-b784-26f0724f247c:92753c09:ed2942d4:580b2269:8cee9284:a3b7d93f:9e1572d6:aac1aeb7:1c2121e:4d471440:c86a4a06:45085116
    ;Telerik.Web.UI.Skins, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:a1fec5ec-d336-48a8-850e-06eaadf10400:62641802:f82ffad1:9db7724d:fa319bc5:226a649d:51352d27:8b77daa8:976fe3c:f144572

buggy:

d=d_7ijIXc06Eqg7xyrMT_AE_WxZL3XaVJz_VwsvOdK_1ssgHIAGoqaJzPVn-aFQFJVakZqv0a6M6IUW8lKaDBl-g9FohhCb-0KC2Mu14d6L4y47PrZb-wQiVUGqaxwCy7qcc2Dw2
t=635823632443834005
compress=1
_TSM_CombinedScripts_=
    ;;Telerik.Web.UI, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:cd668efa-682a-4e93-b784-26f0724f247c:92753c09:ed2942d4:580b2269:1c2121e:9e1572d6:45085116
    ;Telerik.Web.UI.Skins, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:a1fec5ec-d336-48a8-850e-06eaadf10400:62641802:f82ffad1:9db7724d:8b77daa8:226a649d

all kinds of jacked up

至于实际的bug,我做了一些检查,我发现样式表实际上覆盖了自己的样式。我通过格式化程序运行了Telerik.UI.Webresource.axd返回的样式表,第216行定义了一些规则:

.RadWindow .rwCloseButton {
    background-position: -90px 0
}

.RadWindow .rwCloseButton:hover {
    background-position: -90px -21px
}

然后在第4634行,它会覆盖它们。有缺陷的样式表总共有大约2600个额外的行。奇怪的是,这些新规则也使用常规的关闭按钮样式来悬停非活动窗口中的关闭按钮。

.RadWindow .rwCloseButton,
.RadWindow.rwInactiveWindow .rwCloseButton:hover {
    background-position: -1px -762px
}

.RadWindow .rwCloseButton:hover {
    background-position: -21px -762px
}

在窗口正确显示的页面上,仅应用前两个规则,第二组规则永远不会出现。我只是不明白它是如何将风格组合在一起的,或者为什么它会超越自己。

据我所知,所有参考文献都没有改变。没有任何升级,web.config没有改变。我们在本地环境和开发箱中都看到了同样的问题。

1 个答案:

答案 0 :(得分:0)

从所有RadWindows中移除RenderMode="Lightweight"或确保所有RadWindows都能解决问题。

原来问题是我们的一个团队成员将一些带有RenderMode="Lightweight"的RadWindows添加到几页。据推测,加载的第二个样式表实际上是用于轻量级模式。这就是文档告诉您不要混合渲染模式的原因。

相关问题