#jquery #css #jquery-ui
#jquery #css #jquery-пользовательский интерфейс
Вопрос:
Я использую jQuery UI для оформления сайта. Что я хочу сделать, так это добавить другой тип кнопки, который выделяется больше, чем «обычный». Итак, для всех кнопок, таких как отправка формы и т.д. Я хочу использовать стиль темы «по умолчанию», но я хочу создать новый класс кнопок другого цвета и большего размера.
В идеале я не хочу менять jQuery CSS amp; js, которые у меня есть. Я посмотрел на сгенерированный CSS, и похоже, что мне пришлось бы скопировать много материала, чтобы поместить его во второй класс, а затем мне каким-то образом пришлось бы применить все эти классы к элементам, которые я хочу оформить в стиле второй кнопки.
Есть ли способ легко добавить стили виджетов в jQuery UI, «наследуя», так сказать, от существующих стилей виджетов и просто переопределяя некоторые атрибуты? Спасибо.
Комментарии:
1. Я хотел бы, чтобы вы могли упростить это еще больше
2. Я не понимаю этот комментарий?
3. Я тоже этого не делаю — вопрос довольно прямой.
Ответ №1:
У вас есть ThemeRoller для jQueryUI, где вы можете создать свою собственную тему. Это самый простой способ.
В противном случае, если я хочу использовать пользовательскую кнопку вместо того, что поставляется с jQueryUI, что я делаю, это выбираю стиль кнопки jquery по умолчанию (скажем, класс .ui-button
) и создаю селектор с более высоким значением и изменяю только те настройки, которые мне нужны, чтобы они были другими (обычно фоновое изображение, отступы, границы — вы не хотите менять css, связанный с макетом, поскольку это может испортить ваши виджеты).
Что-то вроде:
.ui-button {default jquery css style}
.my-custom-form .ui-button {my custom css style}
и это переопределит ваш стиль. Все, что вам нужно позаботиться, это о том, чтобы ваш селектор был более мощным, чем тот, что в файле jQueryUI css. Вы можете поместить ее в свой файл .css, если ее использование в css по умолчанию кажется вам неаккуратным. Обычно у меня есть div, который оборачивает мое поле ввода или контейнер кнопок, и я добавляю к нему пользовательский идентификатор или класс и использую этот класс / идентификатор для оформления моей кнопки.
Комментарии:
1. Я посмотрел на тематический ролик, и он отлично подойдет для генерации CSS кнопки и самого изображения, но, похоже, тематический ролик не позволит вам указать два класса .ui-button. Второй вариант, который вы упомянули, — это то, что я ищу, я думаю. Вы предлагаете поместить кнопку в дополнительный, одноцелевой div или, по крайней мере, использовать путь выбора, чтобы указать одну конкретную кнопку и применить дополнительные стили таким образом, верно? Все ли используемые классы где-то задокументированы или я должен просто методом проб и ошибок, пока это не сработает?
2. «ваш селектор сильнее» эх, правильный термин специфичен — reference.sitepoint.com/css/specificity
3. @Roel Самый простой способ — открыть Firebug и проверить, какой класс применяется к вашей кнопке / элементу, и проверить, получает ли он какой-либо визуальный стиль, который вам, возможно, потребуется изменить. Некоторые классы просто показывают и скрывают элемент. Некоторые придают ей цвет фона, а некоторые могут просто добавить эффекты наведения. Я не знаю полного списка.
4. @Yi Jiang Я не думаю, что формулировка имеет такое большое значение в данном случае, если концепция понятна. И английский не является моим родным языком, поэтому я не могу с этим смириться.
5. Да, я думаю, я должен. Спасибо, я думаю, что теперь я заставлю это работать 🙂