Pourquoi le comportement de `input type=“date” " a changé?
Date d'intrants tels que les <input type="date" name="due_date" id="due_date" min="2011-09-01" maxlength="10" class="span8">
en Chrome qui permet à l'utilisateur de voir un "pop-up" calendrier pour vous aider à choisir une date. J'ai remarqué hier que le comportement a cessé; l'entrée seulement permet à l'utilisateur de flèche vers le haut/vers le bas les parties de la date (mois/jour/année). J'ai visité le Chrome blog et a mené une recherche sur Google, mais ne peut pas trouver aucune mention de ce changement. Pourquoi le comportement de input type="date"
changé? Curieusement, ce changement semble être limitée à Bootstrap, comme http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_type_date présente encore le datepicker.
Je confirme c'est un Bootstrap problème en allant à l'Amorçage de la documentation et de "l'insertion"
<label for="date1">Choose date</label><input type="date" name="date1" id="date1">
dans le formulaire par défaut exemple sur twitter.github.com/bootstrap/base-css.html#forms.J' voir ce problème dans votre violon. Je suis en utilisant google Chrome....Version 25.0.1364.97 m. Vous?
Yep vient de confirmer que mon Chrome était un peu hors de date, ont mis à jour et maintenant de voir comme vous le décrivez, de sorte Chrome comportement a changé comme vous le pensiez. Désolé, j'ai perdu la version que j'ai été sur donc je ne peux pas le citer.
NP--merci pour le deuxième point de données!
OriginalL'auteur Jeromy French | 2013-02-25
Vous devez vous connecter pour publier un commentaire.
Mise à jour
Chrome équipe a accepté le bug et a soumis un patch pour WebKit.
L'essentiel de ce changement est que la date des contrôles seront rendus à l'intérieur d'un flexible box élément quel que soit le style appliqué à l'input[type='date'].
Je suis le seul qui a signalé le défaut référencé ici pour Chrome. Une solution proposée est d'appliquer un display: inline-block; pour le calendrier sélecteur:
Cependant, c'est un vilain solution, car les contrôles sont toujours déplacé à un autre endroit que justifié à droite sur l'input[type="date"].
Une autre option consiste à faire flotter à droite:
Cela a pour effet de bord de l'inversion de la toupie et du calendrier sélecteur de commandes.
Les meilleurs hack, je pense, est de supprimer le spinner et le flotteur droit:
Notez que si vous êtes flottant un élément, son affichage est mis à
block
, il est donc inutile de tenter de définir à quoi que ce soit d'autre. Voir CSS Astuces de l'article, ou de il suffit de prendre un coup d'oeil à l'calculée style Chrome dev tools. En parlant de ces outils, les gens peuvent ne pas être conscient que vous pouvez aller dans Paramètres>Éléments>Afficher l'Ombre DOM pour voir les éléments (-webkit-inner-spin-button
etc.) référencées dans cette réponse.La version Chrome 26.0.1410.43 m affiche tout correctement de nouveau.
OriginalL'auteur
mis à jour
Trouvé De Problème
Bootstrap utilise 2 attributs de style..
1 - display:inline-block qui rend google casser la flèche sur une autre ligne
2 - height: 20px qui vous empêche de voir cette "ligne"
padding
.OriginalL'auteur
Mise à jour
Google Chrome Question a été marqué comme une régression, donc cela devrait être bientôt corrigé.
Comme solution temporaire, le travail:
De cette façon, vous pouvez garder les entrées de propriété d'affichage définie pour tout ce que vous voulez et tout fonctionne comme avant.
Réponse Originale
Réglage
display: -webkit-inline-flex
(ce qui semble être la valeur par défaut pour<input type="date" />
) va résoudre ce problème, cela peut toutefois modifier la mise en page, que l'entrée est traité comme un élément inline.Cela semble être un bug pour moi, je vais regarder si quelqu'un l'a déjà déposé un rapport de bug, sinon je vais.
Se référer à mon précédent commentaire 🙂
Merci @ximi. J'ai également ouvert un Bootstrap billet: github.com/twitter/bootstrap/issues/7061
suppression de la propriété et de le remettre ne sont pas nécessairement les mêmes.
Je ne suis pas sûr si le bootstrap gars permettra de le corriger, comme il n'y a pas vraiment quelque chose de mal avec leur code, mais avec google chrome, la mise en œuvre. J'espère juste que les gens de chez google va le corriger
OriginalL'auteur