28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Lorsque je place des div en position relative à l'intérieur d'un td, les navigateurs m'affichent bien les div à leur positions voulues mais le td continue à m'afficher les espaces qu'occuperait le texte naturellement si aucun div n'avait été défini.

Comment faire ?

Merci d'avance pour vos réponses,
Si le résultat que tu expliques est bien celui auquel je pense, c'est un comportement parfaitement normal du positionnement relatif. Ce dernier déplace un élément (ici, une division en l'occurence) mais le garde au niveau du flux à sa position initiale. Le contenu suivant ce div vient donc tout naturellement se placer juste en dessous de sa position en flux par défaut.

Si ce comportement n'est pas celui recherché, tu devras procéder autrement et garder de préférence tes éléments dans le flux, en appliquant par exemple au div une marge supérieure négative.
Mon problème est que je déplace des div à la souris et qu'un script me calcule leur position absolue et me l'inscrit dans le code html qui constitue la page finale à afficher. Or lorsque j'affiche ces div ils sont placés dans un td dont je ne connais pas à priori la position. Je ne peux donc conserver ces notations absolues et je dois les traduire en marges css (j'ai abandonné la position:relative compte tenu des problèmes évoqués précédemment).
Ca marche pour la marge gauche des div qui est relative au bord gauche du td, mais pas pour leur marge du haut qui est relative au bas du div précédent dans le flux et dont je ne connais à priori la hauteur. Je suis un peu bloqué quoi...