IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Comment placer des div avec margin-left et margin-top


Sujet :

Positionnement en CSS

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut Comment placer des div avec margin-left et margin-top
    Bonjour,

    je réalise une petite application qui me permet de créer et placer automatiquement des div, mais si toutes mes div se créent normalement, leur placement n'est pas exactement, il semblait que le div renvoi systématiquement à la ligne.

    je vous montre mon code, peut-être pourrez-vous m'aider

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Organigrammes</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="./css/org.css" />
        </head>
        <body>
    		<script type="text/javascript">
    		function addDiv(id,nom,responsable,gauche,top,width,color,taille,align,hauteur)
    		{
    			var canvas=document.getElementById('canvas');
    			var cadre=document.createElement('span');
    			cadre.setAttribute("id",id);
    			cadre.setAttribute("style","background-color:"+color+";margin-left:"+gauche+"px;margin-top:"+top+"px;width:"+width+"px;font-size:"+taille+"px;text-align:"+align+";height:"+hauteur+"px;float:left;");
    			var serv=document.createElement('p');
    			var text_serv=document.createTextNode(nom);
    			serv.appendChild(text_serv);
     
    			var resp=document.createElement('p');
    			var text_resp=document.createTextNode(responsable);
    			resp.appendChild(text_resp);
     
    			cadre.appendChild(serv);
    			cadre.appendChild(resp);
     
    			canvas.appendChild(cadre);
     
    		}
    	</script>
     
     
    		<div id="canvas"></div>
    						<script type="text/javascript">
    					addDiv("1","tete","tete","528","15","200","#C2E4F9","10","center","34");
    				</script>
    							<script type="text/javascript">
    					addDiv("2","corps","corps","0","59","200","#C2E4F9","10","center","34");
    				</script>
    							<script type="text/javascript">
    					addDiv("3","jambe","jambe","0","103","200","#C2E4F9","10","center","34");
    				</script>
     
     
    	</body>
    </html>
    ce code devrait me donner normalement cette figure :
    http://www.hostingpics.net/viewer.ph...3308normal.jpg
    or ce que j'obtiens c'est ceci :
    http://www.hostingpics.net/viewer.ph...78resultat.jpg

    le problème c'est que je peux pas modifier les marges puisqu'elles sont extraites d'un base de données, donc j'aimerais savoir s'il y a une façon de supprimer toutes les marges d'un div ou s'il y a une façon d'ignoré les div déjà crées

    merci d'avance pour vos réponses

  2. #2
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    apparemment les div se placent par rapport aux éléments déjà placés, y a-t-il une façon de passer outre ? c'est-à-dire de placer les nouvelles div comme si c'était le première élément

  3. #3
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    en ajoutant position:relative; sa semble s'améliorer (la position left est la bonne mais reste le top qui n'est toujours pas le bon) un peu mais c'est pas encore sa

  4. #4
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    j'ai plus ou moins réussi
    en mettant position:absolute et en utilisant left et top, les div se placent bien
    mais la hauteur des div augmente et sa je sais pas pourquoi, si je fixe la hauteur si j'augmente la taille du texte la hauteur de la div elle ne suivra pas
    Auriez-vous une idée ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 101
    Points
    101
    Par défaut
    si tu définie la propriété height de tes div il est normal qu'elle reste de hauteur fixe.

    ps: on ne voit plus tes exemples de ce que tu souhaites dans ton premier poste

  6. #6
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    maintenant mon problème c'est par rapport à la hauteur des div qui augmente dès qu'on passe les div en position:absolute
    voila ce que je devrais avoir :
    http://www.hostingpics.net/viewer.php?id=566509ex1.jpg
    et voila ce que j'obtiens :
    http://www.hostingpics.net/viewer.php?id=598941ex2.jpg

    les div grandissent de quelques millimètres, vers le bas
    je ne vois pas du tout quel est le problème, pourquoi elles grandissent

    Quelqu'un aurait-il une idée pour résoudre ce problème ?

    Toutes vos idées peuvent mettre utiles .

    Merci

  7. #7
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    ben voila
    j'ai eu une idée pour arranger ce problème
    comme les textes se trouvaient chacun des un <p>
    j'ai attribué au 2 un class à qui dans la css j'ai mis margin-bottom:0px
    je n'aime pas vraiment ça, mais sa a le mérite de mettre les div dans les 2 modes (création - modification) identiques

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2010, 14h24
  2. Comment placer des divs fixes au scroll ?
    Par Jayrome dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/02/2009, 11h39
  3. Réponses: 4
    Dernier message: 28/12/2008, 01h07
  4. [comment faire]Faire apparaitre des divs avec onclick
    Par Fabious dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/07/2008, 16h29
  5. Réponses: 4
    Dernier message: 11/06/2004, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo