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 :

[HTML/CSS] Taille d'un <div> en fonction de son contenu


Sujet :

CSS

  1. #1
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut [HTML/CSS] Taille d'un <div> en fonction de son contenu
    Bonjour à tous,

    Mon site est structuré via HTML et CSS ( <div> ).
    Exemple :
    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
    #conteneur {
       width:900px;
       height:600px;
    }
    #banniere {
       width:900px;
       height:150px;
       float:none;
    }
    #centre {
       width:900px;
       height:450px;
       float:none;
    }
    #centre_gauche {
       background-image:url(image1);
       width:15px;
       height:450px;
       float:left;
    }
    #centre_centre {
       width:870px;
       height:450px;
       float:left;
    }
    #centre_droite {
       background-image:url(image2);
       width:15px;
       height:450px;
       float:left;
    }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div id="conteneur">
       <div id="banniere"></div>
       <div id="centre">
           <div id="centre_gauche"></div>
           <div id="centre_centre">
              .Contenu variable.
           </div>
           <div id="center_droite"></div>
       </div>
    </div>

    Je souahite en fait que le
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="centre_centre">
       .Contenu variable.
    </div>
    s'agrandisse en fonction de son contenu ( sachant qu'il est variable ), ainsi que les deux div l'entourant ( centre_gauche et centre_droite ) contenant chacun une image.

    Comment faire ?

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    tu ne fixes aucune taille et ça devrait fonctionner.

  3. #3
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Apparemment ca ne marche pas ...

    Mon texte dépasse et passe au dessus des autres cadres.

    Pour info, avec le code fourni, cela fonctionne sous IE.

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    au feeling, je dirais que tu as des marges et/ou des padding par défaut qui se rajoutent à tes divs. Donc la largeur totale de ce que tu mets dans ton div (id=centre) est 870 + 15 + 15 + nn px, nn étant la somme de toute les marges de tes trois div et du padding de ton div qui porte l'id=centre.

    essaye de mettre ceci dans ton css:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    * {
      margin: 0;
      padding: 0;
    }
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  5. #5
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    J'ai testé ta solution mais apparemment ca ne régle pas mon probléme
    ( A quoi correspond * ? )

  6. #6
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Citation Envoyé par hedgehog
    A quoi correspond * ?
    c'est un selecteur "général", c'est comme si tu disais d'appliquer le style à toutes les balises.

    Je viens de voir une erreur :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
     <div id="center_droite"></div>
    alors que dans ton CSS tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #centre_droite {
    ...
    }

  7. #7
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Merci

    Mais en fait cet exemple n'est pas exactement le même que ma page, j'ai affiché celui-ci qui est une représentation simplifiée pour ne pas afficher trop de code.

  8. #8
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    tu peux utiliser max-width sur ta div du milieu et sont équivalent IE (je te laisse chercher sur le Net, il y en a à foison).

  9. #9
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    max-height tu veux dire, non ?

    J'ai essayé mais toujours le même résultat ...

    Je mets la partie du code original concernée, ca facilitera peut etre plus les choses :

    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
    ...
     
    #nouvelles_block_centre {
       width:950px;
       float:none;
    }
    #nouvelles_centre_gauche {
       background-image:url(images/nouvelles_centre_gauche.jpg);
       width:16px;
       float:left;
    }
    #nouvelles_centre {
       width:918px;
       float:left;
    }
    #nouvelles_centre_droite {
       background-image:url(images/nouvelles_centre_droite.jpg);
       width:16px;
       float:left;
    }
     
    ...
    HTML :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
     
    <div id="nouvelles_block_centre">
       <div id="nouvelles_centre_gauche"></div>
       <div id="nouvelles_centre">
          .Contenu Variable.
       </div>
       <div id="nouvelles_centre_droite"></div>
    </div>
     
    ...

    En espérant que cela puisse aider

  10. #10
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Ah mais c'est la hauteur qui te déranges, je croyais que c'était la largeur.
    Bè alors c'est encore pire, je ne vois vraiment pas où est ton problème, tu ne fixes pas de hauteur et puis c'est terminé.
    je vois pas où est ton problèlme franchement (j'ai surement pas compris en fait) .

  11. #11
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Salut,

    De ce que j'ai compris en voyant ton code, ton but est d'avoir un bloc avec des images pour tes bordures verticales.

    Si c'est le cas, je pense que tu peux faire beaucoup plus simple:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="news">
      <div class="content">
        bla bla bla
      </div>
    </div>

    et le css:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    * { 
      margin: 0;
      padding: 0;
    }
    #news {
      background: transparent url(image_de_gauche.gif) top left repeat-y;
      /* definir les dimensions sur cet élément */
    }
    #news .content {
      padding: 0 20px;
      background: transparent url(image_de_droite.gif) top right repeat-y;
    }
    Voilà, si je suis à côté de la plaque, je pense qu'une capture d'écran sera nécessaire à une meilleure compréhension de ton problème (en ce qui me concerne en tout cas...)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  12. #12
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Je vais essayer ca et je vous tiens au courant

  13. #13
    Membre éclairé Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Ta solution marche à merveille, MasterOfChakhaL.

    Je débute dans l'utilisation des <div> et CSS pour la mise en page et je vous remercie de vos conseils

    Résolu

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

Discussions similaires

  1. Réduire la taille d'un pavé de texte en fonction de son contenu
    Par SD_X3 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 12/03/2014, 12h03
  2. Adapter la taille d'un JPanel en fonction de son contenu
    Par SeaShell dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/04/2008, 22h49
  3. [CSS] Taille d'une boite DIV dans un tableau
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/06/2006, 19h17
  4. [HTML/CSS] taille d'une combo
    Par Shivan dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 31/05/2006, 15h28
  5. [CSS] Div prenant la largeur de son contenu.
    Par titoumimi dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/02/2006, 11h39

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