jQuery UI donne une apparence agréable aux boutons avec $('button').button();
.
Existe-t-il un équivalent pour les zones de saisie de texte?
Rien ne vous empêche de faire $("input").button()
... J'aime ça:
$('input:text, input:password')
.button()
.css({
'font' : 'inherit',
'color' : 'inherit',
'text-align' : 'left',
'outline' : 'none',
'cursor' : 'text'
});
Ajoutez la classe ui-corner-all
à votre entrée et post-stylez-la avec CSS.
$('input').addClass("ui-corner-all");
Je sais que c'est vieux. Mais si quelqu'un cherche simplement à attribuer à ses entrées un style plus UIish, ajoutez simplement les classes suivantes: $('input').addClass("ui-widget ui-widget-content ui-corner-all");
Vous pouvez aussi coder les classes en dur.
Pour résumer, j'aimerais ajouter mon implémentation:
$('input:text, input:password, input[type=email]').button()
.addClass('ui-textfield')
.off('mouseenter').off('mousedown').off('keydown');
Le CSS serait:
.ui-textfield {
font: inherit;
color: inherit;
background: none;
text-align: inherit;
outline: none;
cursor: text;
}
Voir ici: http://jsfiddle.net/UXdLQ/1544/
ajoutez également un .off('keydown')
à la réponse de Corin pour éviter que la case ne devienne blanche lorsque vous entrez ou que vous appuyez sur la touche espace.
L'exemple de votre question cite le widget Button de jQuery UI. L’idée de ce widget est d’avoir toute une gamme d’options, notamment une facilité de thématisation. Il existe également un widget pour les zones de saisie. Certains d’entre eux que je connais sont les suivants:
Il existe de nombreux plugins de ce type, sauf pour les widgets. Vous pouvez toujours parcourir/rechercher dans le champ de recherche disponible dans la page http://plugins.jquery.com/
J'ai eu le même problème, je suis venu avec la solution suivante. Utilisez ces classes sur votre champ de saisie:
ui-widget ui-state-default ui-corner-all
Vous pouvez modifier le remplissage - f.e. si vous select
éléments sur votre site - être unifié.
jQuery UI v1.11.4
J'aimais l'idée d'ajouter simplement les classes à tel point que je l'ai écrit sous la forme d'un plugin jQuery. Heureusement, si jQueryUI produit une version, il utilisera très probablement le même format, de sorte que la conversion sera facile.
(function($)
{
$.fn.input = function ()
{
return this.each(function ()
{
$(this).addClass("ui-widget ui-widget-content ui-corner-all ui-button");
});
}
})(jQuery);
Appelez ça comme:
$('input, password').input();
Si vous voulez ajouter des effets de survol, etc., ajoutez simplement la logique dans
return this.each(function ()
{
// display logic
});
EDIT: Ajouté dans la classe supplémentaire "ui-button" pour leur donner la même hauteur/remplissage, etc. que .button ()
EDIT 2: C’est une si bonne idée que d’ajouter une version pour les étiquettes et de permettre la transmission de CSS personnalisé.
// some styling for inputs
(function($)
{
$.fn.input = function (css)
{
if (!css)
css = {};
return this.each(function ()
{
$(this).addClass("ui-widget ui-widget-content ui-corner-all ui-button");
$(this).css(css);
});
}
})(jQuery);
// and labels
(function ($)
{
$.fn.label = function (css)
{
if (!css)
css = {};
return this.each(function ()
{
$(this).addClass("ui-widget ui-button");
$(this).css(css);
});
}
})(jQuery);
Ensuite, appelez également vos entrées/étiquettes. Les classes/styles de ceux-ci n'ont pas besoin d'exister nulle part.
$(".client-input").input();
$(".client-label").label({ "min-width": "125px", "text-align": "right" });
Interface utilisateur des sorties comme celle-ci - avec des entrées et des étiquettes correspondant au style du bouton. (Sélectionnez le travail nécessaire)
Pour avoir les mêmes angles/police/remplissage/espacement que bouton, mais sans les interactions de bouton (survol, actif, etc.)
HTML: type d'entrée = "text" class = "ui-button ui-widget ui-corner-all"
si vous voulez aligner le texte, ajoutez une autre classe personnalisée
CSS: .textfield {text-align: left; }
HTML: type d'entrée = "text" class = "ui-button ui-widget ui-corner-all textfield"