Удаление встроенных стилей по умолчанию из элементов управления telerik - PullRequest
1 голос
/ 01 ноября 2011

При использовании элементов управления Telerik, например, если я не указываю ширину для текстового поля, telerik добавляет встроенный атрибут

style="width: 125px"

Есть ли способ остановить Telerik, добавляя значения по умолчанию, как этот?

(ПРИМЕЧАНИЕ. Это не значение по умолчанию Удаление всего CSS из элементов управления telerik , который спрашивает, как удалить таблицы стилей по умолчанию, а не встроенные стили)

Ответы [ 4 ]

0 голосов
/ 11 июля 2017

У меня была такая же проблема, и я не особо фанат! Важных переопределений или решений JavaScript.

Копаясь в RadInputControl Я мог видеть, что Unit.Pixel(160) является значением по умолчанию Width, но только еслиRenderMode элемента управления не Lightweight, поэтому переключение на Lightweight удаляет явную встроенную ширину, в противном случае, если это не вариант для RadTextbox, я обнаружил, что если вы установите для свойства Columns значение 0,только вывод

style="width:;"

Мне это не подходит, поэтому я предполагаю, что большинство браузеров это проигнорируют, но я сам не проверял это подробно.

0 голосов
/ 01 ноября 2011
0 голосов
/ 23 ноября 2011

Вот моя возможная реализация, которая работает для 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");
    }
},
0 голосов
/ 01 ноября 2011

Я не уверен, но вы можете попробовать поискать таблицы стилей, чтобы найти спецификацию ширины по умолчанию для входных данных.кроме этого, вы можете переопределить атрибут и установить ширину, используя !important.

<telerik:RadTextBox ID="RadTextBox1" runat="server" style="width:200px !important;" ... >

EDIT

Попробуйте добавить такой стиль вВаша страница или таблица стилей.Это может быть не 100%, но должно быть близко:

.RadInput .RadInput_Sunset { /* replace "_Sunset" with whatever skin you're using */
    width: auto; 
}

РЕДАКТИРОВАТЬ

Если вам нужно стилизовать только один элемент управления, попробуйте следующее:

#ClientID_OF_INPUT { 
    width: auto !important;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...