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 :

Un DIV qui est décalé en hauteur par rapport à un autre aligné horizontalement à lui.


Sujet :

Dimensionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut Un DIV qui est décalé en hauteur par rapport à un autre aligné horizontalement à lui.
    Salut

    Un drole de problème m'oblige à demander vos bons conseils, car j'ai perdu beaucoup de temps à essayer de trouver l'erreur sans résultats.
    j'ai un div "cadre" centré, qui contient deux div alignés horizontalement l'un avec l'autre, mais le deuxième (celui de droite) est décalé vers le bas d'au moins 40px par rapport au premier, qui lui, est bien collé au bord haut du div cadre (qui les contient).
    Le div cadre a un padding de 10px.

    Le code HTML :
    Code html : 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
    <div id="cadre">
    	<div id="champs">
    		<div class="contacts" id="contact1">
    			<label class="gras">ADRESSE :</label><p/>
    				36 Rue des Bateliers<br/>
    				07100 Pimoniers, FRANCE.<p/>
    				<label class="gras">MAIL :</label><p/>
    				contact@voyage.com
    		</div>
    		<div class="contacts" id="contact2">
    			<label class="gras">FORMULAIRE :</label><p/>
    			Si vous êtes déjà un(e) membre validé(e) de voyage.com,<br/>
    			Vous pouvez utiliser le formulaire situé dans la zone "membres".<br/>
    			Pas besoin d avoir une adresse email.
    		</div>
    	</div>
    </div>

    La page CSS :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    #cadre
    {
    position:relative;
    width:90%;
    margin:auto;
    padding:10px;
    text-align:center;
    font-size:20px;
    font-style:none;
    font-weight:none;
    border-radius:10px;
    margin-bottom:20px;
    background-color:cyan;
    }
     
    #champs
    {
    position:relative;
    text-align:center;
    width:800px;
    border:double;
    padding:10px;
    margin:auto;
    }
     
    .gras
    {
    position:relative;
    font-weight:bold;
    }
     
    .contacts
    {
    position:relative;
    top:0;
    text-align:left;
    display:inline-block;
    height:100%;
    margin-left:auto;
    margin-right:auto;
    }
     
    #contact1
    {
    position:relative;
    width:300px;
    background-color:red;
    }
     
    #contact2
    {
    position:relative;
    width:480px;
    background-color:blue;
    }
    En passant, cherchez pas la ville PIMONIER, FRANCE : Elle n'existe pas

    J'ai mis une couleur à chaque div pour trouver le problème, c'est une sorte de debug

    Voilà, si vous pouviez m'aider ce serait cool

    NB: Pas moyen içi de mettre une apostrophe dans un mot sans que la ligne devienne rouge :/

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,


    Une solution (parmi d'autres) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #champs
    {
      display:table;
    }
    #champs > div
    {
      display:table-cell;
    }
    Et si tu veux être "responsive", évite les dimensions en pixels et privilégie les %.

  3. #3
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Salut et Merci jreaux, mais je comprend pas, j'ai pas de table dans mon code et sinon que puis-je faire avec cette exemple ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu manques de curiosité, ou tu n'as pas (encore) le réflexe ?


    display:table; / display:table-cell; permet de simuler le comportement d'une <table>.

  5. #5
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    J'ai trouvé la solution

    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
     
    .contacts
    {
    position:relative;
    top:0;
    left:0;
    text-align:left;
    margin-left:auto;
    margin-right:auto;
    display:inline-block;
    }
     
    #contact1
    {
    width:240px;
    background-color:red;
    }
     
    #contact2
    {
    width:480px;
    background-color:blue;
    vertical-align:top;
    }
    Merci de me dire ça, mais si je suis là c'est parce que j'ai cherché d'abord.

    En tous cas la solution était de mettre inline-block dans la classe "contacts", et de mettre vertical-align au deuxième div "contact2".


    EDIT : Ah tu disais ça pour le display table, oui c'est juste tu as raison je ne suis pas allé voir, surement car j'ai trop cherché sur le net ces temps-ci pour pleins de problèmes de codes.
    Merci de ton aide encore une fois.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Rassure-toi, on a tous commencé en construisant des "usines à gaz".

    Plus tu apprendras, plus tu sera capables d'optimiser ton code, et d'utiliser les meilleures solutions.

    Mais pour ça, il faut :
    • RECHERCHER
    • TESTER
    • APPRENDRE

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

Discussions similaires

  1. Div qui s'adapte à la hauteur du contenu
    Par kate59 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 24/01/2009, 13h40
  2. hauteur <div> automatique par rapport à un autre <div>
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 08/05/2008, 19h38
  3. afficher tout les divs qui ont leurs id commence par la chaine "select"
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/01/2008, 15h27
  4. se connecter à un PC qui est derrière un routeur par socket?
    Par damien99 dans le forum Développement
    Réponses: 12
    Dernier message: 10/05/2007, 18h42
  5. [Pop Up?]Ou un div qui est hidden?
    Par ozzmax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2005, 15h14

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