Puis-je supprimer le style entier de jQuery UI tabs sans casser les styles des autres composants de l'INTERFACE utilisateur?
Je veux personnaliser entièrement jQuery UI tabs sans casser les styles de jQuery UI sélecteur de date? C'est que c'est faisable ou je dois faire un travail personnalisé et de ne pas utiliser jQuery UI tabs?
cet exemple montrent que la plupart des classes de l'interface utilisateur qui peut être appliquée..
vous pouvez les remettre pour les enfants, par exemple #mytab seulement..
#mytab.ui-tabs {/* reset or overwrite everything you don't like */}#mytab li.ui-tabs-selected {/* reset or overwrite everything you don't like */}...
Ce n'est pas exactement à l'aise, mais vous permet toujours d'utiliser dire le jquery ui styles dans n'importe quel autre élément.
sur le datepicker, aussi longtemps que vous assurez-vous que les styles définis ci-dessus ne sont pas utilisés dans les divs qui détiennent le contenu, vous devez être bien, la plupart des classes sont préfixés par ".ui-datepicker-" ou ".ui-tabs-" de toute façon, de sorte qu'ils ne doivent pas interférer..
J'essayais de l'éviter, mais finalement, j'ai fait de cette manière. Seulement, j'ai eu mes onglets enveloppé dans une div avec une classe, donc je peux réutiliser mes styles sur l'onglet autres composants de la page.
Peut-être cette mini-intrusive css squelette aide. Observer que seuls JQuery UI est défini ui-tabs classe (et de son descendant ul > li) est de style, ce qui évite de toucher d'autres liées à l'interface utilisateur classes contenues dans le thème-rouleau-généré jquery-ui-1.8.18 x.la coutume.css (je n'ai jamais vraiment eu cette idée par la seule étude de ce fichier).
/* default tab state *//* tabs nav bar */.ui-tabs ul {
border-top:0!important;...}.ui-tabs li {
background :#EFEFE7 !important; ...}.ui-tabs li a {
color:Black!important;
padding:4px1.5ex3px!important;}/* selected tab state */.ui-tabs li.ui-state-active {
margin:0;...}.ui-tabs li.ui-state-active a {...}/* hovered tab state */.ui-tabs li.ui-state-hover {...}.ui-tabs li.ui-state-hover a {...}
Aussi, je tiens à remercier jquery équipe et leur exemple de code à partir d'ici - http://jqueryui.com/tabs/
HTML
<linkrel="stylesheet"href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"><scriptsrc="//code.jquery.com/jquery-1.10.2.js"></script><scriptsrc="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script><divid="tabs"><ul><li><ahref="#tabs-1">Nunc tincidunt</a></li><li><ahref="#tabs-2">Proin dolor</a></li><li><ahref="#tabs-3">Aenean lacinia</a></li></ul><divid="tabs-1"><p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p></div><divid="tabs-2"><p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p></div><divid="tabs-3"><p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p><p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p></div></div>
//Setting Tabs - Demonstrating how to set currently selected tab
$("#tabs").tabs({active:1});
$("#tabs").removeClass('ui-widget');//Demonstrating how to get index of currently selected tabvar active = $("#tabs").tabs("option","active");
console.log(active);
La syntaxe HTML est le même avec des fonctionnalités supplémentaires:
1. Panneaux avec le contenu qui sont cachés par défaut, pré-choix doit être fait pour onglet&panneau manuellement , en leur donnant "active" de la classe (mais c'est souvent voulu...). L'utilisateur de choisir les onglets&panneaux et "active" de classe entre eux est fait automatiquement.
2. L'onglet est un réel lien? - pas de problème - il suffit de donner son lien "realLink" de la classe.
<divid="tabs"class="myCoolTabsWrap"><ul><li><ahref="#tabs-1"class="active">Tab 1 link text</a></li><li><ahref="#tabs-2">Tab 2 link text</a></li><li><ahref="#tabs-3">Tab 3 link text</a></li><li><ahref="https://google.cz/"target="_blank"class="realLink">An actual link text</a></li></ul><divid="tabs-1"class="active">
Some of your cool html /text.
</div><divid="tabs-2">
Some of your cool html /text.
</div><divid="tabs-3">
Some of your cool html /text.
</div></div>
Suffit d'utiliser jQuery chaînage pour supprimer la ui-widget de la classe à partir de l'onglet de l'élément conteneur après l'application de la onglets widget. La plupart des indésirables style est connecté à l'interface utilisateur-classe de widget.
$("#tabs").tabs().removeClass('ui-widget');
Dans un autre cas avec plus lourdement style de contenu, j'ai trouvé que la suppression de plus de classes était nécessaire, non seulement de la div conteneur, mais à partir de tous les éléments à l'intérieur.
Il ne sera probablement pas faisable en raison de la croix-widget dépendances.
Cependant, il suffit de l'utilisation de la en cascade nature de CSS. Inclure la référence à la jQuery UI CSS, puis d'inclure une référence à votre propre qui va se substituer à l'jQuery UI styles.
Mon chef veut que la page très bientôt ... j'espérais que si quelqu'un avez une solution plus rapide, vous savez. :/
Je sais que c'est une vieille question, mais comme il est #1 sur Google pour "jquery ui tabs aucun style" voici ma correction:
//Remove the annoying jQuery UI classes when we create the tabs.
$('#tabs').tabs().removeClass (function(index, className){return(className.match (/(^|\s)ui-\S+/g)||[]).join(' ');});
cet exemple montrent que la plupart des classes de l'interface utilisateur qui peut être appliquée..
vous pouvez les remettre pour les enfants, par exemple #mytab seulement..
Ce n'est pas exactement à l'aise, mais vous permet toujours d'utiliser dire le jquery ui styles dans n'importe quel autre élément.
sur le datepicker, aussi longtemps que vous assurez-vous que les styles définis ci-dessus ne sont pas utilisés dans les divs qui détiennent le contenu, vous devez être bien, la plupart des classes sont préfixés par ".ui-datepicker-" ou ".ui-tabs-" de toute façon, de sorte qu'ils ne doivent pas interférer..
OriginalL'auteur Lucy
C'est possible, mais je pense que c'est plus facile de coder vos propres onglets. Jetez un oeil à ce lien:
jquery ui tabs grands changements de style de
OriginalL'auteur Alex
Peut-être cette mini-intrusive css squelette aide. Observer que seuls JQuery UI est défini ui-tabs classe (et de son descendant ul > li) est de style, ce qui évite de toucher d'autres liées à l'interface utilisateur classes contenues dans le thème-rouleau-généré jquery-ui-1.8.18 x.la coutume.css (je n'ai jamais vraiment eu cette idée par la seule étude de ce fichier).
OriginalL'auteur Tat
Suis tombé sur le même problème. Solution et démo énumérés ci-dessous.
Je tiens à remercier la suite de la source qui m'a fourni un bon exemple pour le code CSS - http://keith-wood.name/uitabs.html
Aussi, je tiens à remercier jquery équipe et leur exemple de code à partir d'ici - http://jqueryui.com/tabs/
HTML
CSS
JS
DÉMO
OriginalL'auteur Barmaley
Le chemin le plus court si vous voulez vraiment "juste" de l'onglet fonctionnalités semble être:
RDIY "plutôt que de le faire vous-même"
jsFiddle démonstration (à l'aide de peu modifié jQuery exemple): https://jsfiddle.net/uy986516/
Parce que si vous n'avez pas besoin de jQuery style, de quoi avez-vous réellement besoin? Pas grand-chose...
Vous laissant avec seulement cette fonctionnelle CSS:
La syntaxe HTML est le même avec des fonctionnalités supplémentaires:
1. Panneaux avec le contenu qui sont cachés par défaut, pré-choix doit être fait pour onglet&panneau manuellement , en leur donnant "active" de la classe (mais c'est souvent voulu...). L'utilisateur de choisir les onglets&panneaux et "active" de classe entre eux est fait automatiquement.
2. L'onglet est un réel lien? - pas de problème - il suffit de donner son lien "realLink" de la classe.
OriginalL'auteur jave.web
Suffit d'utiliser jQuery chaînage pour supprimer la ui-widget de la classe à partir de l'onglet de l'élément conteneur après l'application de la onglets widget. La plupart des indésirables style est connecté à l'interface utilisateur-classe de widget.
Dans un autre cas avec plus lourdement style de contenu, j'ai trouvé que la suppression de plus de classes était nécessaire, non seulement de la div conteneur, mais à partir de tous les éléments à l'intérieur.
OriginalL'auteur Garland Pope
Il ne sera probablement pas faisable en raison de la croix-widget dépendances.
Cependant, il suffit de l'utilisation de la en cascade nature de CSS. Inclure la référence à la jQuery UI CSS, puis d'inclure une référence à votre propre qui va se substituer à l'jQuery UI styles.
OriginalL'auteur alex
Je sais que c'est une vieille question, mais comme il est #1 sur Google pour "jquery ui tabs aucun style" voici ma correction:
OriginalL'auteur 100pic