Bonsoir,

Je travaille sur un système d'édition de champs classique : un DIV contenant un texte se change en INPUT quand on clique dessus => le texte est modifiable. Jusqu'ici tout va bien..

Le problème auquel je me retrouve confronté est que mon élément INPUT se décale légèrement par rapport à l'élément DIV d'origine sous certaines conditions (taille de la police par exemple). Du coup, cela décale et/ou déplace d'autres éléments dans ma page. Bof bof..

Une solution a été de passer le style position de l'élément INPUT en absolue et d'utiliser une fonction Javascript pour récupérer les coordonnées top/left du DIV de départ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
function getPosition(e){
	var left = 0;
	var top  = 0;
 
	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}
 
	left += e.offsetLeft;
	top  += e.offsetTop;
 
	return {x:left, y:top};
}
puis de déplacer l'élément INPUT avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
input.style.top = ...
input.style.left = ...
Mais cela n'est pas viable car je me retrouve confronté à d'autres problèmes de positionnements, l'élément INPUT créant un vide dessous lui.

Je souhaiterais donc pouvoir déplacer mon INPUT sans avoir à toucher à la propriété de positionnement.

Des idées ????