Espace réservé d'entrée à l'aide de CSS
Je sais qu'il ya beaucoup de questions à propos de cette requête ici, mais aucun d'eux de fournir la solution pour moi.
HTML
<input id="tb1" type="text" class="note" />
<br>
<p class="note1"> This is not done.</p>
CSS
p.note1:before{
content: "Note:";
}
tb1.note:before{
content: "Enter your number";
}
Je suis en train d'essayer avec le code ci-dessus et de la variation que l'on trouve sur le web mais aucune ne semble fonctionner pour la balise input. Il travaille pour p balise.
EDIT: je ne peux pas ajouter de la valeur de l'attribut de balise d'entrée et de gérer les css pour le résultat souhaité. C'est la limite du système.
EDIT2: Oublier mon css, est-il possible que le texte de l'espace réservé est possible sans l'aide de l'espace réservé attribut et juste avec du css pour input type="text"
Quel est le problème avec l'aide de
ne pouvez pas ajouter en raison des limitations du système...
Qu'est-ce que la limitation de l'utilisation de HTML?
html est affichée à partir existant cadre de contrôles et je n'ai pas de commande à demander/changer cela.
placeholder="text here"
ne pouvez pas ajouter en raison des limitations du système...
Qu'est-ce que la limitation de l'utilisation de HTML?
:before
ne fonctionne que sur les éléments qui peuvent avoir des nœuds enfants, aussi des entrées n'avez pas de balise de fermeturehtml est affichée à partir existant cadre de contrôles et je n'ai pas de commande à demander/changer cela.
OriginalL'auteur Akki619 | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
Il ne fonctionne pas pour le simple fait que cela:
n'est pas valide.
<input />
éléments ne sont pas des conteneurs. Comme la spécification des notes, endtags sont interdits (et essentiellement ignoré par le navigateur): http://www.w3.org/TR/html401/interact/forms.html#h-17.4Je suis 99.9999999% certain que ce que vous voulez n'est pas possible avec les CSS.
OriginalL'auteur Tieson T.
L'élément sélectionné DOIT être une balise conteneur. Une balise vide comme
<input>
n'ont pas d'enfants de l'élément.Si vous ne pouvez pas modifier votre code HTML manuellement, vous pouvez toujours qu'en utilisant JavaScript:
Mise à jour
Si vous souhaitez obtenir à l'aide de CSS, vous devez avoir un élément de conteneur d'emballage de votre
<input>
(ou à venir).MAIS Il ne fonctionne pas correctement comme
placeholder
faire. Vous ne serez pas en mesure de vérifier la valeur de<input>
par les CSS. Si vous écrivez quelque chose à l'intérieur de la<input>
, aprèsblur
événement, à la génération de l'espace réservé sera affiché sur le<input>
de nouveau.HTML:
CSS:
JSBin Démo
Cela dépend de votre balisage HTML, vous devez avoir un élément de conteneur comme
<label>
. Vérifier ma mise à jour.Je l'aime, cependant, quand tb1 perd le focus, l'espace réservé est de retour, même si vous avez mis un texte.
OriginalL'auteur Hashem Qolami
J'ai trouvé cette méthode, mais non pris en charge par tous les navigateurs:
Remarque: vous avez oublié de placer un sélecteur d'id
#
tb1.notevoir ce lien
OriginalL'auteur Bhojendra Rauniyar
EDIT:
Essayez ceci pour commencer: (Remarque: vous allez avoir besoin de js pour détecter si le texte a été saisi dans l'entrée)
En dehors de cela - je ne crois pas que cela, il ya un css solution pour l'espace réservé de texte sur un élément de saisie sans l'aide de l'attribut placeholder.
VIOLON
Balisage
css
Vous ne pouvez pas utiliser les éléments pseudo sur un
input
tag - ou de toute autre non-conteneur d'éléments pour que la matièreDe la Pseudo-Éléments tag info:
OriginalL'auteur Danield
Une autre façon, cela peut être accompli, et n'ont pas vraiment vu de toutes les autres, donnez-lui comme d'une option est d'utiliser à la place un point d'ancrage comme un conteneur autour de vos commentaires et de votre étiquette, et s'occuper de l'enlèvement de l'étiquette par un peu de couleur trickory, le #hashtag, et le css a:visited. (jsfiddle en bas)
Votre code devrait ressembler à ceci:
Et votre CSS, quelque chose comme ceci:
Vous pouvez voir le travail sur à jsfiddle, notez que cette solution ne permet à l'utilisateur de sélectionner le champ à la fois, avant qu'il supprime l'étiquette pour de bon. Peut-être pas la solution que vous voulez, mais certainement l'une des solutions que je n'ai pas vu d'autres mentionnent. Si vous voulez expérimenter plusieurs fois, il suffit de changer votre #hashtag pour un nouveau "non visité" tag.
http://jsfiddle.net/childerskc/M6R7K/
OriginalL'auteur NinjaKC
Si vous ne pouvez pas manipuler le code html et l'utilisation
placeholder=""
. Utiliser javascript pour manipuler l'espace réservé. Chaque css approche est hack-isch de toute façon.E. g. avec jQuery:
$('#myFieldId').attr('placeholder', 'Search for Stuff');
OriginalL'auteur Hafenkranich