我的网站已经使用自己的CSS主题构建。我正在使用jQuery UI“tabs”小部件,但没有来自jQuery-UI的CSS。
现在,我正在尝试在我的某个页面中添加“日期选择器”小部件。如果我可以重用jQuery-UI默认主题就好了。
问题是日期选择器主题也适用于我的选项卡CSS。例如,“ui-widget”css属性应用于日期选择器和制表符元素。
我似乎无法找到将css属性仅应用于日期选择器的方法。我看不到只适用于日期选择器DIV的“超级选择器”。
处理此问题的最佳方法是什么?
[编辑] datepicker小部件确实是问题所在。我无法应用特定于它的CSS样式。这是弹出的DIV的起始代码:
<div style="position: absolute; top: 300.4px; left: 149px; display: block;" id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"><div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">
因此,我无法添加超级选择器。什么是伟大的将是日期选择器小部件支持CSS scope。但事实并非如此。我无法手动编辑jQuery CSS文件。
日期选择器目前为refactored。希望新代码能够解决这个问题。
答案 0 :(得分:8)
$(window).load(function() {
$('#ui-datepicker-div').addClass('CSS-Scope-Class');
});
.addClass() jQuery函数会将必要的类添加到日期选择器中,以便主题样式表选取它。
我必须附加到窗口的加载事件而不是文档的ready事件,因为那时还没有插入日期选择器。
注意:将datepicker添加到DOM和应用新类之间会有一个小的延迟,这意味着在页面加载完成时,datepicker可能看起来没有样式。
答案 1 :(得分:4)
您可以使用主题滚轮http://jqueryui.com/themeroller/
自定义主题使用Firebug的inspect DOM功能找到要设置样式的项目,以定位要选择的类。
答案 2 :(得分:1)
我对datepicker和手风琴有同样的问题。我想要使用日期选择器的新造型,但不希望它用于手风琴。我采取了简单的方法,我复制了ui.theme.css的相关部分,并在所有样式前添加了.ui-datepicker。这仅针对日期选择器,并且仅保留所有其他UI插件。
我不确定这是否是最好的方式,但它适用于我的目的。
答案 3 :(得分:1)
我可能会遗漏一些东西,但你不能只是在日期选择器对象中添加一个类并选择它吗?
答案 4 :(得分:1)
尝试:$('#cmsContent').css('margin', '0');
答案 5 :(得分:1)
简单地将一个css类添加到datepicker div对我来说不起作用,我不得不像这样创建另一个div:
$("#ui-datepicker-div").wrap('<div class="CSS-Scope-Class" />');
答案 6 :(得分:0)
这对我有用
$("#ui-datepicker-div").wrap("<div class='Your-CSS-Scope-Class'></div>");