使用Telerik控件时,例如我没有为文本框指定宽度,telerik添加了内联属性
style="width: 125px"
有没有办法阻止telerik添加这样的默认值?
(注意:这不是Removing all CSS from telerik controls的默认值,它询问如何删除默认样式表而不是内联样式。
答案 0 :(得分:0)
我不确定,但您可以尝试搜索样式表以查找输入的默认宽度规范。除此之外,您可以使用!important
覆盖属性并设置宽度。
<telerik:RadTextBox ID="RadTextBox1" runat="server" style="width:200px !important;" ... >
修改强>
尝试在页面或样式表中添加这样的样式。这可能不是100%,但应该接近:
.RadInput .RadInput_Sunset { /* replace "_Sunset" with whatever skin you're using */
width: auto;
}
修改强>
如果您只需要设置一个控件的样式,请尝试以下操作:
#ClientID_OF_INPUT {
width: auto !important;
}
答案 1 :(得分:0)
以下是Telerik的一些解决方案:
How to Remove the Default Width of RadInput TextBoxes or Set it with External CSS
答案 2 :(得分:0)
这是我的最终实现,适用于RadInput和RadComboBox。该函数需要适应每个控件,因为telerik将样式放在不同的地方。
function removeWidths (sender) {
//remove only the width style from the inline style collection
sender._originalTextBoxCssText && (sender._originalTextBoxCssText = sender._originalTextBoxCssText.replace(/(^|[^-])width\s?:\s?[\w|\.]+\s?;/i, "$1"));
sender.updateCssClass && sender.updateCssClass();
if(sender.constructor.__typeName == "Telerik.Web.UI.RadComboBox") {
$(sender._inputDomElement).closest(".RadComboBox").removeAttr("style");
}
},
答案 3 :(得分:0)
有同样的问题,我不是特别的粉丝!重要的覆盖或JavaScript解决方案。
深入RadInputControl
我可以看到Unit.Pixel(160)
是默认的Width
,但前提是控件的RenderMode
不是Lightweight
,所以切换到Lightweight
删除显式内联宽度,否则如果这不是RadTextbox的选项,我发现如果将Columns
属性设置为0
,则只输出
style="width:;"
这对我来说看起来不合适,所以我猜大多数浏览器都会忽略这一点,但我自己并没有对它进行过广泛的测试。