Partage
  • Partager sur Facebook
  • Partager sur Twitter

[CSS] Un conteneur div qui ne respect pas ma feuille de style.

Sous Internet Explorer.

Sujet résolu
    19 avril 2006 à 22:12:38

    Bonjour tout le monde.

    Tout d’abord merci pour vos fantastiques tuto, très claire et bien expliqué !
    (Au passage génial cette éditeur! depuis le temps que j'en rêvais!)

    Voici un lien >ICI< vers ma page récalcitrante, sous Firefox, pas de problème, mais sous Internet Explorer ça se gâte ! J’ai coloré les balises pour mieux visualiser le problème.



    Problème :

    J’ai une bannière, un menu à gauche, un futur menu à droite et le contenu au centre qui doit exploiter la place qui reste.
    Le centre est dans une balise div, à laquelle j’applique un margin pour que le texte ne chevauche pas sur la bannière et les menus de gauche et de droite tout en prenant le maximun de place selon les résolutions des visiteurs. Sous Firefox pas de problème, Internet Explorer le margin n’est prit en compte qu’a gauche.

    Pour ne pas que le texte trop long ne chevauche sur la cadre de décoration en bas j’applique également un overflow auto à cette balise div (55% pour le 800*600).

    Mais sous Internet Explorer cette overflow est ignoré tout comme le margin. (résolu)

    Edité : Si je supprime position: absolute tout semble rentrer dans l’ordre, mais il faut que je supprime le margin-top sinon la mise en page est foireuse sous Firefox et sous Internet Explorer le margin-top est tout simplement ignoré , conséquence ma balise div chevauche sur la bannière. :euh:



    Jusque là je suis parvenu à trouver des solutions à mets problèmes, mais cette fois j’ai besoin de quelqu’un, de vous !?! :p

    Comment réglet ce problème ? Que me conseillez vous ? Voyez vous des erreurs de ma part ? Je vous réponds par avance que je ne veux pas supprimer des éléments, sinon je ne serais pas là aujourd’hui.


    Merci d’avance !


    PS : pour ne pas charger le topic je ne post pas les sources ici, j’espère que les liens suffiront.

    La page Web
    La feuille de style
    Archive des sources




    • Partager sur Facebook
    • Partager sur Twitter
      20 avril 2006 à 15:50:02

      Pour l'overflow, tu n'as qu'à mettre un padding-right car deux barres de défilement c'est pas la mode :( surtout pour les news !

      Sinon tu neux que les news soit petit tu met:

      #corp
      {

      min-height: Xpx;
      min-width: Xpx;
      }


      La premiere solution est la meilleur je t'assure ;)
      • Partager sur Facebook
      • Partager sur Twitter
        20 avril 2006 à 16:30:57

        Merci de ta réponse :) mais tu ne répond pas du tout à ma question :( , j’ai déjà mis un padding pour éviter la barre horizontal, je ne l’ai pas précisé car ce n’est pas le problème. :p Il faut regarger la page sous Internet Explorer et Firefox pour comprendre. ;)


        Voice un site qui illustre très bien ce que je veux faire, mais ce n'ai pas de l'xhtml. ICI.



        PS : A oui au fait, min-height et min-width ne fonctionne pas sous Internet Explorer. Voir cour de M@teo21 ICI
        • Partager sur Facebook
        • Partager sur Twitter
          20 avril 2006 à 17:36:47

          Sinon essaie de mettre un width et height en X% pour le corp, et puis un margin: auto;:


          #corp
          {

          width: 75%;
          height: 75%;
          margin: auto;
          }


          Sinon je vois pas comment faire :euh:
          • Partager sur Facebook
          • Partager sur Twitter
            20 avril 2006 à 17:47:32

            :o
            Merci mais ça ne répond toujours pas à ce que je recherche. J'y ai bien sur déjà pensé, mais en 800x600 c'est désastreux ca se chevauche dans tous les sens. Personne ne veut intéresser réellement au fond du problème?
            • Partager sur Facebook
            • Partager sur Twitter
              20 avril 2006 à 17:51:31

              Bon en tout cas, le 2e probleme il faut mettre un text-align: center; là c'est sûr je me trompe pas !
              • Partager sur Facebook
              • Partager sur Twitter
                20 avril 2006 à 17:57:10

                Tu as raison, mais là c'est moi qui me suis emmêlé le pinceau avec mes sources lors de mes tests. Je vais édité mon post car si tu regarde bien mes liens il n’y à pas de problème ! :p
                • Partager sur Facebook
                • Partager sur Twitter
                  20 avril 2006 à 18:04:56

                  Salut,
                  Je pense que ton problème d'overflow est dû à la propriété max-height: 55%;
                  Cette propriété n'étant pas reconnue pas IE ton texte doit s'afficher en entier. http://wiki.media-box.net/documentation/css/max-height.

                  Peut être qu'en arrtibuant un height de 55% à div#container, ton problème serait résolu.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 avril 2006 à 18:26:00

                    +1 :p J'ai oublié de le virer, impardonnable de ma par :( Le overflow fonctionne (pas terrible mais je verrais ça plus tard). Je corrige le lien que j’ai donné, maintenant il faut régler ce problème de balise div.

                    Pour résumer Internet Explorer ne veut pas entendre parler de mon margin-right.

                    Merci :)


                    EDIT
                    J'ai un début de résultat en suppriment
                    position: absolute;
                    . Mais cela engendre d'autre problème. Voir ICI
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 avril 2006 à 14:13:19

                      Mon problème est toujours d’actualité. ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 avril 2006 à 15:21:22

                        J'ai rien dit. Image utilisateur .

                        Mets tes code CSS (!) et XHTML, on ne sait jamais.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 avril 2006 à 19:57:33

                          J'ai donné 3 liens en bas de mon 1er post ^^
                          • Partager sur Facebook
                          • Partager sur Twitter
                            23 avril 2006 à 13:11:51

                            Bon je te garantie rien mais fait ceci:
                            Tu met des margin au menu

                            #menu1
                            {

                            margin-top: 300px;
                            margin-left: 30px;
                            margin-right: 30px;
                            /* Tu enlèvera les position: absolute et leur composant (top, left) */
                            }


                            Ton corp (#container) prendra tout le reste de la place donc on enlève les margin (je me demande si sa va pas deborder :( )

                            Et puis pour ton future menu on fait comme le premier:

                            #menu2
                            {

                            margin-top: 300px;
                            margin-left: 30px;
                            margin-right: 30px;
                            }


                            En espérant que ça marche...

                            Résumé:
                            Margin au menu et pas aux corp...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 avril 2006 à 16:54:59

                              C'est complètement catastrophique de faire ça. Même dans la théorie ce n'est pas bon. :p

                              J'ai donné une archive avec mes sources dans le 1er post, tu peux tester si tu veux t'en rendre compte toi même :D
                              • Partager sur Facebook
                              • Partager sur Twitter
                                23 avril 2006 à 17:46:48

                                Citation : Sparktacus

                                Merci de ta réponse :) mais tu ne répond pas du tout à ma question :( , j’ai déjà mis un padding pour éviter la barre horizontal, je ne l’ai pas précisé car ce n’est pas le problème. :p Il faut regarger la page sous Internet Explorer et Firefox pour comprendre. ;)


                                Voice un site qui illustre très bien ce que je veux faire, mais ce n'ai pas de l'xhtml. ICI.




                                PS : A oui au fait, min-height et min-width ne fonctionne pas sous Internet Explorer. Voir cour de M@teo21 ICI



                                Je suis sûr, sur ce site ils metttent des width: X% partout (au menu et au corp !)
                                (Met ton ecrant en 800x600 tu verras que le menu grossit !)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  23 avril 2006 à 18:34:37

                                  Citation : Tryx_M.I.P.

                                  Je suis sûr, sur ce site ils metttent des width: X% partout (au menu et au corp !)
                                  (Met ton ecrant en 800x600 tu verras que le menu grossit !)



                                  EDIT : à oui je viens de comprendre, je vais regarder ça de plus près.


                                  J'ai trouvé une solution au problème, pas super mais bon, la seul :

                                  J'ai créé une 2 ème feuille de style :
                                  /* Hack I-E*/
                                  div#hack-ie
                                  {

                                          margin-right: 400px; /*J'ai du doublé le margin pour contrer le bug d'Internet Explorer*/
                                          height: 100%;
                                  }


                                  La nouvelle balise balise div#hack-ie englobe le conteneur div#container (la fameuse balise qui ma tant fait chier).


                                  Et j'ai ajouté la feuille de style style-ie.css en utilisant un hack css :
                                                  <!--[if IE]><link rel="stylesheet" media="screen" type="text/css" title="Design en css" href="css/style-ie.css" /><![endif]-->
                                                  <link rel="stylesheet" media="screen" type="text/css" title="Design en css" href="css/style.css" />




                                  EDIT : une solution toute simple mais moins efficace consite au lieu de créer une nouvelle balise remplacer ça :
                                  div#container
                                  {

                                          position: absolute;
                                          margin: 300px 200px 200px 200px;
                                          padding: 0 10px;
                                          overflow:auto;
                                          height: 55%;
                                  }


                                  par ça :
                                  div#container
                                  {

                                          position: absolute;
                                          top: 300px;
                                          left:25%;
                                          right:25%;
                                          overflow:auto;
                                          height: 55%;
                                  }


                                  C'est tout nul hein?
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  [CSS] Un conteneur div qui ne respect pas ma feuille de style.

                                  × 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