Partage
  • Partager sur Facebook
  • Partager sur Twitter

[CSS] Un saut de ligne provoque le déplacement d'un bloc

Sujet résolu
    27 janvier 2006 à 20:01:17

    Bonjour ! Cela fait longtemps que je n'ai plus demandé d'aide à propos du CSS et xHtml, mais là j'ai un problème, qui m'ennuie pas mal...

    C'est très basique, et concerne l'alignement des blocks de mon site.

    Simplement avec le code il est possible de voir l'aspect du design, voyez plutôt:

    <div id="header"></div>

    <div id="menu"></div>

    <div id="corps"></div>
    /* Corps en flottant à droite du menu, classique */

    <div id="footer"></div>


    #header
    {


     width: 100%;
     height: 100px;

    }

    #menu
    {


     width: 200px;
     float: left;

    }

    #corps
    {


     margin-left: 200px;

    }


    Jusque là, rien de plus classique. Je n'ai même pas mis le footer, pas besoin.

    Voila, tout se place normalement, à une exception près.

    Quand je met un paragraphe (<p></p>), un titre, ou alors toute autre balise de type block, il fais un saut de ligne (enfin un espace) avec le header. Cet espace est hors du block, et ne se règle pas avec les marges.

    Si je met une bordure, l'espace s'en va...
    Si je met une lettre avane la balise block dans le corps, l'espace s'en va...
    Si je ne met rien dans le corps, l'espace s'en va...
    Si je met le paragraphe de mon corps en inline, l'espace s'en va...
    Si je met un margin: 0 à mon paragraphe ou titre, ça fonctionne

    Mais pourquoi ? Je ne comprend pas d'ou vient le problème ... pourquoi le saut de ligne se fait avant le block ? Il devrait être dans le block, vu que le paragraphe est contenu dans le div corps...

    Si vous avez déjà eu ce genre de problème, j'aimerais trouver une façon 'conventionelle' de régler ça !

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      27 janvier 2006 à 20:15:31

      Salut !

      Hum, avec le code que tu nous montres là, c'est impossible d'essayer de pouvoir déterminer d'où vient ton problème.

      Alors comme ça, perso, je vois pas trop, j'ai déjà rencontré un problème similaire, mais ça venait d'un text-indent hérité d'un élément parent.

      Ca n'a pas l'air d'être ton cas ici.

      Mets ceci à la fin de ta feuille de style pour voir si ce n'est pas justement un problème de margin ou de padding :

      *{margin: 0; padding: 0}


      Et regardes si le problème est toujours présent.
      • Partager sur Facebook
      • Partager sur Twitter
        27 janvier 2006 à 20:23:12

        Cela corrige mon problème, et je le sais. Mais cela ne l'explique pas.

        Au fait, il y a une marge au dessu du h1 ou p (par defaut), mais je ne comprends pas pourquoi ça décale TOUT le block. Pour moi, il devrait juste y avoir une marge qui écarterai le titre/paragraphe du haut du block, mais pas provoquer un décalage du block.

        De plus, pourquoi le fait d'appliquer une bordure au calque résous ce problème, ça me parrait illogique, et j'aimerai comprendre d'ou vient le problème...
        • Partager sur Facebook
        • Partager sur Twitter
          27 janvier 2006 à 20:34:16

          Ca vient bel et bien de la marge de ce bloc.
          Enlève le margin-top ou margin-bottom, à priori ça devrait fonctionner.
          Et ça s'explique par le fait que le bloc parent n'englobe pas la marge de son bloc enfant.
          • Partager sur Facebook
          • Partager sur Twitter
            27 janvier 2006 à 21:10:26

            Citation : @lyric

            Et ça s'explique par le fait que le bloc parent n'englobe pas la marge de son bloc enfant.


            Ah c'est pour ça, ma vision des choses étaient différentes, je comprends le problème maintenant, merci !
            • Partager sur Facebook
            • Partager sur Twitter

            [CSS] Un saut de ligne provoque le déplacement d'un bloc

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown