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 :

Taille variable d'un DIV


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Par défaut Taille variable d'un DIV
    Bonjour à tous,

    Je dois concevoir une template flexible. Dans le header j'ai un logo à la gauche, et à la droite d'autre liens, etc... Dans la portion du centre (c'est-à-dire entre le logo et la partie droite) l'image de background doit se répéterà l'horizontal. C'est donc là la partie flexible (Élastique).

    Voici ce que j'ai jusqu'ici :
    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
    #Container 
      {
        width :80%;
        border : solid 1px red;
        margin-left: auto; 
        margin-right: auto; 
        min-width :760px;
      }
      
      #Header 
      {
        height : 94px;
        border : solid 1px black;
      }
      
      #HeaderTopLeft 
      {
        width :160px;
        height :94px;
        background-image : url(images/HeaderTopLeft.gif);
        background-repeat :no-repeat;
        float :left;
      }
    
      #HeaderTopCenter 
      {
        height :94px;
        width : ??? /* Je ne peux spéfifier la taille puisqu'elle est variable !!! */
        background-image : url(images/HeaderTopCenter.gif);
        background-repeat : repeat-x;
        float :left;
        border : solid 1px green;
      }
      
      #HeaderTopRight {
        width :585px;
        height :94px;
        background-image : url(images/HeaderTopRight.gif);
        background-repeat :no-repeat;
        float :right;
      }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="Container">
        <div id="Header">
           <div id="HeaderTopLeft"></div>
           <div id="HeaderTopCenter"></div>
           <div id="HeaderTopRight"></div>
        </div>
    </div>

    Dans le partie centrale HeaderTopCenter je ne peux pas spécifier la taille en largeur puisque je ne la connais pas. Elle doit prendre l'espace disponible entre HeaderTopLeft et HeaderTopRight. Si je met 100%, ça ne fonctionne pas... Et je dois mettre une taille sinon le background ne se répétera pas en X.

    Thank for your help.

  2. #2
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Par défaut
    J'ai presque réussi à faire ce que je veux mais il y a encore un petit problème à régler....

    Regarger le résultat : Template

    J'aimerais que mes bordure de chaque côté soit répété aussi longue que la hauteur du CenterContent. On dirait que la hauteur des deux div (CenterLeft et CenterRight) ne suivent pas celle du CenterContent

  3. #3
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Bonsoir,

    Tu devrais passer par une inclusion de div plutôt que des float (tu ne peux pas dire à tes flottants d'occuper toute la hauteur du parent). Quelque chose comme ça:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        <div id="Center">
           <div id="CenterContent">
              This is a test...<br /><br />
              This is a test...<br /><br />
              This is a test...<br /><br />
     
              This is a test...<br /><br />
              This is a test...<br /><br />
              This is a test...<br /><br />
              This is a test...<br /><br />
           </div>
        </div>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      #Center
      {
      	clear :both;
            background: url(images/CenterLeft.gif) repeat-y top left;
      }
     
      #CenterContent
      {
            background: url(images/CenterRight.gif) repeat-y top right;
      }

    SI tu avais vraiment besoin d'images. Mais là, un border suffit:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <div id="Center">
              This is a test...<br /><br />
              This is a test...<br /><br />
              This is a test...<br /><br />
     
              This is a test...<br /><br />
              This is a test...<br /><br />
              This is a test...<br /><br />
              This is a test...<br /><br />
        </div>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #Center{
      	border-width:0 1px;
            border-color:transparent #8FA6CD transparent #8C6365;
            border-style:solid;
    }

    Autrement ton image "excel" devrait être dans le html puisqu'elle véhicule une information, de même que des drapeau de langue.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  4. #4
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Par défaut
    Merci pour ton aide "Candygirl".

    Je ne suis pas au travail en ce moment mais dès demain j'essaierai votre idée

    Cependant, je suis tout de même curieux avec la solution d'inclusion... Corrige moi si je me trompe mais le div parent sera plus GRAND que le div ENFANT, alors l'image (jouant le rôle de la bordure) ne sera pas répété avec la même taille en Y sur le parent comme sur l'enfant ?

  5. #5
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Citation Envoyé par Erakis Voir le message
    Corrige moi si je me trompe mais le div parent sera plus GRAND que le div ENFANT, alors l'image (jouant le rôle de la bordure) ne sera pas répété avec la même taille en Y sur le parent comme sur l'enfant ?
    Non, du moment qu'il n'y a ni margin, ni padding ni border de défini sur le div parent, les 2 div auront exactement les mêmes dimensions.

    Autrement je ne sais pas trop pourquoi j'ai pas simplement mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #Center{
      	border-left:1px solid #8C6365;
            border-right:1px solid #8FA6CD;
    }
    Quand même nettement plus lisible; on dira que c'était à cause de l'heure tardive
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  6. #6
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Par défaut
    La solutiond d'inclusion ; Wow
    Ça fonctionne à merveille, merci beaucoup CandyGirl.

    Je n'aurais jamais pensé que ça aurait fonctionné !!! Vous venez de m'apprendre quelque chose aujourd'hui

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

Discussions similaires

  1. taille variable et rapport carré d'un div
    Par René N013 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 30/06/2010, 20h41
  2. images de taille variable dans div fixe
    Par delercem dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/07/2008, 18h15
  3. Taille et positionnement d'un div dans un div à taille variable
    Par vodnok dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 15/05/2008, 13h45
  4. Positionnement DIV de taille variable
    Par ferensy dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 11/02/2008, 17h49
  5. [Div] Donner une taille variable
    Par tom42 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 14/02/2007, 10h34

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