web-dev-qa-db-fra.com

Placer une image dans un champ de texte

J'ai un champ de saisie HTML comme celui-ci. Je voudrais placer une image dans la zone de texte sur le côté droit. Quelqu'un peut-il m'aider avec son CSS pour cela?

<input type="text" id="name"/>

 

Dans l'image se trouve une image qui se trouve à l'intérieur de l'adresse électronique du champ de texte, ce que je veux. Comment est-ce que tu fais ça?

11
user3128920

HTML

<div class="fake-input">
    <input type="text" />
    <img src="http://www.zermatt-fun.ch/images/mastercard.jpg" width=25 />
</div>

CSS

.fake-input { position: relative; width:240px; }
.fake-input input { border:none: background:#fff; display:block; width: 100%; box-sizing: border-box }
.fake-input img { position: absolute; top: 2px; right: 5px }

Démo de travail

http://jsfiddle.net/HnJZa/

14
Paul Rad

essaye ça:

input { 
  background-image: url("icon.png");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: contain;
}
9
user1706618

vous pouvez essayer quelque chose comme ça 

.textBox{  
background-image:url(iconimage.jpg);   
background-position:right;   
background-repeat:no-repeat;   
padding-left:17px;
}

Puis appliquez ce style à votre zone de texte:

<input type="text" class="textBox" />
4
gaurav5430

Utiliser les propriétés background-image et background-position

DEMO

CSS:

input  {
     height: 70px;
     width: 200px;
     background-image:url("http://cloud.ohloh.net/attachments/25869/plone-icon-64_med.png");
     background-repeat:no-repeat;
     background-position: 133px 3px;

}
3
Manoj

.text3 {
	width: 300px;
	height: 30px;
}

#text3 {
	background-image: url(https://cdn3.iconfinder.com/data/icons/interface-8/128/InterfaceExpendet-09-128.png);
	background-size: 30px;
	background-repeat: no-repeat;
}

input {
	text-align: center;
}
<p class="email">
			Email
</p>
<input type="text" placeholder="Email_ID" class="text3" id="text3">

1
user7873511

Les réponses ci-dessus ne reproduisent pas le format indiqué dans l'image du questionneur, ni ne fournissent d'explication. C'est une solution utilisant des images de fond.

Explication de la syntaxe de l'image d'arrière-plan.

background: url('https://d1ululg65bfe3q.cloudfront.net/images/troy/email-icon.png') no-repeat 97.25% 10px white;

.bg-email-icon {
  background: url('https://d1ululg65bfe3q.cloudfront.net/images/troy/email-icon.png') no-repeat 97.25% 10px white;
  padding-left: 5px;
  padding-right: 50px;
  width: 255px;
  height: 30px;
  border: 1px gray solid;
  border-radius: 5px 5px 0px 0px;
}

.bg-lock-icon {
  background: url('https://d1ululg65bfe3q.cloudfront.net/images/troy/lock-icon.png') no-repeat 96.75% 10px white;
  padding-left: 5px;
  padding-right: 50px;
  width: 255px;
  height: 30px;
  border: 1px gray solid;
  border-top-width: 0px;
  border-radius: 0px 0px 5px 5px;
}
<input name="exampleEmail" class="bg-email-icon" placeholder="Email" type="email">
<input name="examplePassword" class="bg-lock-icon" placeholder="Password" type="password">

0
nu everest

Une petite réponse: vous pouvez le faire en définissant comme image de fond du champ de saisie.

0
jnuK

essayer: 

#name {
      background: url('path/image.png') right no-repeat;
}
0
C_B

Vous pouvez ajouter une classe à votre entrée

<input type="text" id="name" class="inputImage" />

puis l'image d'arrière-plan à la classe en css

.inputImage
{
background:#FFFFFF url('img.jpg') no-repeat top right;
}
0
tilda

Vous devez ajouter une classe comme ceci:

CSS:

.bgInput {
  background: url(path of your image.jpg) top right no-repeat;
}

HTML:

<input type="text" class="bgInput" id="name"/>
0
richa_pandey