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

HTML Discussion :

Formulaire qui déplace ma div


Sujet :

HTML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 50
    Points
    50
    Par défaut Formulaire qui déplace ma div
    Bonjour,

    J'ai un petit souci que je n'arrive pas à comprendre vis à vis d'un formulaire et d'une DIV.
    En fait j'ai une DIV en inline-block qui se trouve entre deux autres DIV. Celle-ci se place correctement ou je veux, mais lorsque je veux ajouter un formulaire à l'intérieur, celle-ci se place en dessous des autres entrainant avec elle les DIV placer à sa droite.

    Pour être encore plus précis, lorsque j'ajout ma balise <form> c'est bon, j'ajoute deux <input type="text"> c'est encore bon, mais lorsque j'ajoute un 3eme <input> ou un <textera> la DIV descend.
    J'ai même testé avec une DIV contant le formulaire dans la DIV concernée mais rien y fait, dès que j'ajoute un troisième élément mon bloc se déplace.

    Voici le code CSS (DIV concerné 'blocVingt_quatre') :
    Code css : 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    .blocDixSept {
    	float:left;
    	width:70%;
    	height:100%;
    	display:inline;
    	vertical-align:top;
    }
     
    .blocDixHuit {
    	float:right;	
    	width:30%;
    	height:100%;
    	display:inline;
    	vertical-align:top;
    }
     
    .zoneDeux {
    	width:50%;
    	height:350px;
    	float:right;
    	position:relative;
    	top:-200px;
    }
     
    .blocDixNeuf {
    	width:40%;
    	height:100px;
    	display:inline-block;
    }
     
    .blocVingt {
    	width:60%;
    	height:150px;
    	display:inline-block;
    }
     
     
    .blocVingt_un {
    	width:40%;
    	height:50px;
    	display:block;
    	position:relative;
    	top:-50px;
    }
     
     
    .blocVingt_deux {
    	width:50%;
    	height:200px;
    	display:inline-block;
    	position:relative;
    	top:-50px;
    }
     
     
    .blocVingt_trois {
    	width:50%;
    	height:200px;
    	display:inline-block;
    	position:relative;
    	top:-50px;
    }

    Voici le code HTML:

    Je signale que pour l'instant toute mes DIV sont vide, et que mon tableau $infoContenu ne contient pour l'instant rien
    Code php : 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
    --><div class="zoneDeux"><!--
    ******************************************************************************************************************************************
          --><?php if($infoOption[18]['fusion deux'] == 0 && $infoOption[19]['fusion deux'] == 0 && $infoOption[20]['fusion deux'] == 0 
                    && $infoOption[21]['fusion deux'] == 0 && $infoOption[22]['fusion deux'] == 0 && $infoOption[23]['fusion deux'] == 1 && 
                    $infoOption[24]['fusion deux'] == 1 && $infoOption[25]['fusion deux'] == 1){ ?><!--
                      --><div class="blocDixNeuf">		  <?php echo $infoContenu[18]['contenu']; ?>		</div><!--
                      --><div class="blocVingt">		    <?php echo $infoContenu[19]['contenu']; ?>		</div><!--
                      --><div class="blocVingt_un">		  <?php echo $infoContenu[20]['contenu']; ?>		</div><!--
                      --><div class="blocVingt_deux">	  <?php echo $infoContenu[21]['contenu']; ?>		</div><!--
                      --><div class="blocVingt_trois">	<?php echo $infoContenu[22]['contenu']; ?>		</div><!--
    ******************************************************************************************************************************************
            --><?php  } else if($infoOption[18]['fusion deux'] == 1 && $infoOption[19]['fusion deux'] == 1 && $infoOption[20]['fusion deux'] == 1 
                                  && $infoOption[21]['fusion deux'] == 1 && $infoOption[22]['fusion deux'] == 1 && $infoOption[23]['fusion deux'] == 0 && 
                                  $infoOption[24]['fusion deux'] == 0 && $infoOption[25]['fusion deux'] == 0){ ?><!--
                      --><div class="blocVingt_quatre">	<?php echo $infoContenu[23]['contenu']; ?> 	</div><!--
                      --><div class="blocVingt_cinq">	  <?php echo $infoContenu[24]['contenu']; ?> 		</div><!--
                      --><div class="blocVingt_six">	  <?php echo $infoContenu[25]['contenu']; ?> 		</div><!--
    ******************************************************************************************************************************************
            --><?php } ?><!--
      --></div><!--

    Et voici mon formulaire :
    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
    <div class="contact">
    <!--	 Formulaire de contact
    	--><h1>CONTACT</h1><!--
    	--><form action="admin.php?onglet=contenu" method="POST"><!--		
    		--><input type="text" name="nom_contact" id="nom" class="champ_contact" placeholder="Nom"><!--
    		--><span class="champObligatoire">Champ obligatoire</span>	<!--
    		--><input type="text" name="prenom_contact" id="prenom" class="champ_contact" placeholder="Prénom"><!--
    		--><input type="text" name="mail_contact" id="mail" class="champ_contact" placeholder="Adresse mail"><!--
    		--><span class="champObligatoire">Champ obligatoire</span><!--
     
    			--><select name="objet_contact" class="objet_contact" id="objet" ><!--
    				--><option disabled selected>Choisissez un sujet</option><!--
    				<!-- Ajout de la variable $liste, qui contient l'ensemble des objets enregistrés par l'entreprise
    				--><!--
    			--></select><!--
    			--><textarea name="message_contact" class="message_contact" id="message" placeholder="Saisissez votre message"></textarea><!--
    		--><span class="champObligatoire">Champ obligatoire</span><!--
    		--><input type="submit" name="btnValid_contact" class="btnValid_contact" value="Envoyez"><!--
    	--></form><!--
    --></div>
    Quand je laisse les 2 premiers <input> les 2 <span>, et le <input type="submit"> mon bloc ne bouge pas, si je metsen revanche le champ mail et le textera, ça part en vrille.

    Auriez vous une idée pour faire en sorte que ma DIV ne bouge pas?

    Par avance merci

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    On pourrais avoir le reste du css par ce que là c'est léger .
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 50
    Points
    50
    Par défaut
    Oui pas de souci, si ça peut aider.

    Code css : 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    body{
    	width:80%;
    	margin:auto;
    	margin-top:2%;
    	height:700px;
    	min-width:1000px;
    	position:relative;
    }
     
    body div {
    	vertical-align:top;
    	border:1px solid black;
    }
     
    div img {
    	width:100%;
    	height:100%;
    	display:inline-block;
    }
     
    .text_bloc {
    	height:90%;
    	padding:10px;
    	overflow-y:auto;
    }
     
    .blocZero {
    	width:15%;
    	height:100px;
    	display:inline-block;
    }
     
    .blocUn {
    	width:30%;
    	height:150px;
    	display:inline-block;
    	vertical-align:top;
    }
     
    .zoneUn {
    	width:40%;
    	height:100px;
    	display:inline-block;
    }
     
    .blocDeux {
    	width:25%;
    	height:100px;
    	display:inline-block;
    	color:white;
    }
     
    .blocTrois {
    	width:75%;
    	height:100px;
    	display:inline-block;
    }
     
    .blocQuatre {
    	width:15%;
    	height:150px;
    	display:inline-block;
    }
     
    .blocCinq {
    	width:15%;
    	height:200px;
    	position:relative;
    	top:-50px;
    	display:inline-block;
    }
     
    .blocSix {
    	width:10%;
    	height:150px;
    	display:inline-block;
    }
     
    .blocSept {
    	width:20%;
    	height:150px;
    	display:inline-block;
    }
     
    .blocHuit {
    	width:20%;
    	height:200px;
    	display:inline-block;
    	position:relative;
    	top:-50px;
    }
     
    .blocNeuf {
    	width:15%;
    	height:250px;
    	display:inline-block;
    	position:relative;
    	top:-50px;
    }
     
    .blocDix {
    	width:5%;
    	height:50px;
    	display:inline-block;
    	position:absolute;	
    	top:100px;
    }
     
    .blocOnze {
    	width:20%;
    	height:200px;
    	display:inline-block;
    	position:relative;
    }
     
    .blocDouze {
    	width:15%;
    	height:50px;
    	display:block;
    	position:relative;
    	top:-100px;
    }
     
    .blocTreize {
    	width:15%;
    	height:50px;
    	display:inline-block;
    	position:relative;
    	top:-100px;
    }
     
    .blocQuatorze {
    	width:25%;
    	height:100px;
    	display:inline-block;
    	position:relative;
    	top:-150px;
    }
     
    .blocQuinze {
    	width:10%;
    	height:100px;
    	display:inline-block;
    	position:relative;
    	top:-150px;
    }
     
    .blocSeize {
    	width:15%;
    	height:50px;
    	display:inline-block;
    	position:relative;
    	top:-150px;
    }
     
    .zoneTrois {
    	width:50%;
    	height:300px;
    	display:inline-block;
    	position:relative;
    	top:-150px;
    	vertical-align:top;
    }
     
    .blocDixSept {
    	float:left;
    	width:70%;
    	height:100%;
    	display:inline;
    	vertical-align:top;
    }
     
    .blocDixHuit {
    	float:right;	
    	width:30%;
    	height:100%;
    	display:inline;
    	vertical-align:top;
    }
     
    .zoneDeux {
    	width:50%;
    	height:350px;
    	float:right;
    	position:relative;
    	top:-200px;
    }
     
    .blocDixNeuf {
    	width:40%;
    	height:100px;
    	display:inline-block;
    }
     
    .blocVingt {
    	width:60%;
    	height:150px;
    	display:inline-block;
    }
     
     
    .blocVingt_un {
    	width:40%;
    	height:50px;
    	display:block;
    	position:relative;
    	top:-50px;
    }
     
     
    .blocVingt_deux {
    	width:50%;
    	height:200px;
    	display:inline-block;
    	position:relative;
    	top:-50px;
    }
     
     
    .blocVingt_trois {
    	width:50%;
    	height:200px;
    	display:inline-block;
    	position:relative;
    	top:-50px;
    }
     
    .blocVingt_quatre {
    	width:50%;
    	height:350px;
    	display:inline-block;
    }
     
    .blocVingt_cinq {
    	width:50%;
    	height:175px;
    	display:inline-block;
    }
     
    .blocVingt_six {
    	width:50%;
    	height:175px;
    	float:right;
    	position:relative;
    	top:-175px;
    	display:inline-block;
    }
     
    .blocVingt_sept {
    	width:100%;
    	height:100px;
    	display:inline-block;
    }

    Et si ça peut aider voici le HTML sans php de cette page :
    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
    <div class="blocZero">			</div>
    <div class="blocUn">			</div>
    <div class="zoneUn">
    	<div class="blocDeux"> 		</div>
    	<div class="blocTrois">		</div>
    </div>
    <div class="blocQuatre">		</div>
    <div class="blocCinq">			</div>
    <div class="blocSix">			</div>
    <div class="blocSept">			</div>
    <div class="blocHuit">			</div>
    <div class="blocNeuf">			</div>
    <div class="blocDix">			</div>
    <div class="blocOnze">			</div>
    <div class="blocDouze">			</div>
    <div class="blocTreize">		</div>
    <div class="blocQuatorze">		</div>
    <div class="blocQuinze">		</div>
    <div class="blocSeize">			</div>
    <div class="zoneTrois">
    	<div class="blocDixSept">	</div>
    	<div class="blocDixHuit">	</div>
    </div>
    <div class="zoneDeux">
    	<div class="blocDixNeuf">		</div>
    	<div class="blocVingt">		   	</div>
    	<div class="blocVingt_un">		</div>
    	<div class="blocVingt_deux">	</div>
    	<div class="blocVingt_trois">	</div>
    </div>
    J'ai essayé dans le bloc 24 d'ajouter un formulaire sans paramètre, sans class ou id avec des input text vide également, les 2 premiers passent bien et dès que j'ajoute le 3eme input vide également ça modifie le placement .Pourquoi ça???

    Par avance merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 50
    Points
    50
    Par défaut
    Personne pour m'aider ou juste m'expliquer pourquoi un input ou un formulaire peut modifier le placement d'une DIV ?

    Par avance merci

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    En fait j'ai une DIV en inline-block qui se trouve entre deux autres DIV. Celle-ci se place correctement ou je veux, mais lorsque je veux ajouter un formulaire à l'intérieur, celle-ci se place en dessous des autres entrainant avec elle les DIV placer à sa droite.
    il n'y a donc visiblement pas la place pour que tout le monde tienne sur la même ligne.

    Par contre l'exemple que tu montres n'est quand même pas très explicite!

    Ta construction HTML me parait chargée en DIV et le CSS en class.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Il est vrai qu'il y a beaucoup de DIV dans mon body, mais je n'ai pas le choix, c'est la volonté de mon boss, donc je fais .

    Le truc que je ne comprends pas c'est que dans ma DIV 24 (le contenant qui pose problème), lorsque j'ajoute n'importe quel contenu, image, texte tout s'affiche correctement, quand j'ajoute mon formulaire avec des champ input également, mais lorsque j'ajoute un 3eme input, alors là c'est le drame.

    J'ai tenté de mettre mon formulaire en position:absolute, tout en haut de ma page ou tout en bas, j'ai même testé en dehors de mon body, mais rien n'y fait, dès que j'ajoute le formulaire ça saute. J'ai testé sans CSS affilié au formulaire mais toujours le même problème. Je ne comprends pas trop ce qu'il se passe.

    J'ai passé le code au W3C pour vérifier que je n'avais pas oublié de fermer une balise mais non, aucune erreur, seulement 2 warning.

    Je sèche totalement, et surtout comment je pourrais faire.

    Edit : J'ai fait 2 images pour expliquer mon problème (j'ai modifier l'ensemble des couleurs pour différencier les bloc):

    La 1ere c'est sans le formulaire de contact, le site comme il doit être au final :
    Nom : sansForm.png
Affichages : 111
Taille : 14,7 Ko

    Le 2eme c'est le résultat si j'ajoute un formulaire avec plus de 3 champs (mon formulaire sur l'exemple est en position absolute juste avant la fermeture de mon body, donc contenu contenu dans aucune DIV de mon BODY):
    Nom : avecForm.png
Affichages : 110
Taille : 22,8 Ko

    J'espère que ça pourra vous éclairer

    Merci d'avance pour les réponses

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Ce que je vois c'est un immonde m%£$ier de mise en page
    il serait plus intéressant que tu nous fournisses un lien vers une page exemple car j'ai quand même du mal à voir/comprendre cet empilement.

Discussions similaires

  1. remplir un formulaire qui se met dans un champ hidden
    Par cecileb dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/09/2005, 16h37
  2. Formulaire qui se valide tout seul :8O:
    Par Boumeur dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/04/2005, 12h21
  3. control de formulaire qui marche avec IE et non mozilla
    Par epeichette dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/03/2005, 16h47
  4. formulaire qui doit appeler plusieurs pages
    Par rohel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/01/2005, 08h59
  5. Réponses: 2
    Dernier message: 29/10/2003, 11h05

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