Пользовательский интерфейс jQuery — добавить второй тип кнопки

#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. Да, я думаю, я должен. Спасибо, я думаю, что теперь я заставлю это работать 🙂