HTML5 espace réservé css padding

J’ai déjà vu ce post et j’ai essayé tout ce que je pouvais pour changer le rembourrage de mon espace réservé mais hélas, il ne semble pas vouloir coopérer.

En tout cas, voici le code pour le css. ( EDIT : Ceci est le CSS généré par sass)

#search { margin-top: 1px; display: inline; float: left; margin-left: 10px; margin-right: 10px; width: 220px; } #search form { position: relative; } #search input { padding: 0 10px 0 29px; color: #555555; border: none; background: url('/images/bg_searchbar.png?1296191141') no-repeat; width: 180px; height: 29px; overflow: hidden; } #search input:hover { color: #00ccff; background-position: 0px -32px; } 

Et voici le simple HTML:

  

Assez simple? l’espace réservé est désactivé pour une raison quelconque, mais lorsque vous essayez de taper dans le champ de saisie, le texte est aligné. Il semble que vous ne pouvez changer que la couleur (pour webkit ) de l’espace réservé, mais si j’essaie d’éditer le remplissage de l’entrée contenant, cela détruit la conception de l’entrée! tire les cheveux

Voici les écrans de l’espace réservé et du champ de saisie avec saisie de texte:

espace réservésaisie de texte

EDIT :

Pour l’instant j’ai eu recours à ce plugin jquery .

Ça marche dès la sortie de la boîte et ça corrige le problème de mon chrome. Je voudrais quand même découvrir quel est le problème (si cela a quelque chose à voir avec MY chrome ou quelque chose)

Je suis presque certain que ce n’est pas le cas depuis que John Catterfeld l’a reproduit sans problème, alors j’espère que quelqu’un pourra me suggérer la raison pour laquelle cela m’est arrivé (le chrome de mon client aussi). Ceci est probablement natif à Chrome / OSX si John utilise Windows)

J’ai le même problème.

Je l’ai corrigé en supprimant la hauteur de ligne de mon entrée. Vérifiez s’il y a des lignes qui causent le problème

J’ai eu un problème similaire, mon problème était avec le remplissage latéral, et la solution était avec, text-indent, je n’étais pas au courant que le retrait de texte affectait la position côté placeholder.

 input{ text-indent: 10px; } 

Si vous souhaitez conserver votre hauteur de ligne et forcer l’espace réservé, vous pouvez directement modifier le CSS d’espace réservé depuis les nouvelles versions du navigateur. Cela a fait le tour pour moi:

 input::-webkit-input-placeholder { /* WebKit browsers */ line-height: 1.5em; } input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ line-height: 1.5em; } input::-moz-placeholder { /* Mozilla Firefox 19+ */ line-height: 1.5em; } input:-ms-input-placeholder { /* Internet Explorer 10+ */ line-height: 1.5em; } 
 line-height: normal; 

travaillé pour moi;)

J’ai eu un problème, qui apparaît juste dans Internet Explorer. Le champ de saisie a été stylé

 height:38px; line-height:38px; 

Malheureusement, dans IE, l’espace réservé initial n’apparaît pas au bon endroit. Mais lorsque j’ai cliqué sur le champ et que j’ai quitté ce champ, l’espace réservé est apparu sur la bonne position.

Ma solution était de définir:

 line-height:normal; 

La suppression de la hauteur de ligne permet en effet d’aligner votre texte sur votre texte d’espace réservé, mais cela ne résout pas correctement votre problème car vous devez adapter votre conception à cette faille (ce n’est pas un bogue). Ajouter un alignement vertical ne fera pas l’affaire non plus. Je n’ai pas essayé dans tous les navigateurs, mais cela ne fonctionne pas dans Safari 5.1.4 à coup sûr.

J’ai entendu parler d’un correctif jQuery pour cela, qui n’est pas compatible avec les espaces réservés entre navigateurs (jQuery.placeholder), mais pour les espaces réservés, mais je ne l’ai pas encore trouvé.

En attendant, vous pouvez résoudre le tableau de cette page qui montre différents supports de navigateur pour différents styles.

Edit: Trouvé le plugin! jquery.placeholder.min.js vous offre à la fois des fonctionnalités de styling complètes et une prise en charge multi-navigateur.

Réglage line-height: 0px; réparé pour moi en Chrome

J’ai créé un violon en utilisant votre capture d’écran en tant qu’image d’arrière-plan et en supprimant le balisage supplémentaire, et cela semble fonctionner correctement.

http://jsfiddle.net/fLdQG/2/ (navigateur webkit requirejs)

Est-ce que ça marche pour toi? Sinon, pouvez-vous mettre à jour le violon avec votre balisage exact et votre CSS?

J’ai remarqué le problème au moment où j’ai mis à jour Chrome sur os x vers la dernière version stable (9.0.597.94). Il s’agit donc d’un bogue de Chrome qui, espérons-le, sera corrigé.

Je suis tenté de ne pas essayer de contourner ce problème et d’attendre le correctif. Cela signifiera simplement plus de travail à faire.

L’espace réservé n’est pas affecté par l’ line-height de la line-height et le padding est incohérent sur les navigateurs.

J’ai cependant trouvé une autre solution.

VERTICAL-ALIGN . C’est probablement la seule fois où cela fonctionne, mais essayez-le plutôt et creusez de nombreuses lignes de code CSS.

Supprimer la hauteur de ligne ou définir en utilisant le remplissage … ça marche dans tous les navigateurs

J’ai trouvé la réponse à mes frustrations concernant le blog de John Catterfeld .

… Chrome (v20-30) implémente presque tous les styles, mais avec une mise en garde majeure: les styles d’espace réservé ne redimensionnent pas la zone de saisie, évitez les choses telles que la hauteur de ligne et le remplissage supérieur ou inférieur.

Si vous utilisez une hauteur de ligne ou un remplissage, vous allez être frustré par le paramètre fictif résultant. Je n’ai pas trouvé un moyen de contourner cela jusqu’à présent.