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 :

Problème menu avec DIV.


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Par défaut Problème menu avec DIV.
    Salut!
    J'essaie de convertir mon site qui était fait avec des tableaux en mode DIV et CSS pour le sport et puis car j'ai cru voir que c'était quand même le nouveau standard.

    La structure est simple:
    Un cadre de 900px de large centré sur la page.
    Première ligne contenant un bandeau flash de 900px.
    Dernière ligne contenant une image de 900px.

    et entre deux, une colonne sur la gauche avec les liens de largeur 130px avec à côté, une div de 770px qui contient les données de la page (=> le contenu).

    Voici mon code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <div class='maintable'>
       <div style='height:75px;'>mon objet flash</div>
       <div style='background-color:green;'>
    	<div id='liens'>les liens du menu</div>
            <div id='content'>mon contenu</div>
       </div>
       <div id='bottom'><img src='bottom.gif' alt='' /></div>
    </div>

    avec le code CSS suivant:

    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
     
    .maintable {
    border-top-width:0px;
    border-left-width:0px;
    border-right-width:1px;
    border-bottom-width:1px;
    border-color:white;
    border-style:solid;
    background-color:black;
    width:900px;
    margin:auto;
    }
     
     
    #liens {
    position:relative;
    width:130px;
    height:100%;
    border-right:dashed 1px;
    border-left:1px white solid;
    background-color:#00baff;
    float:left;
    }
     
     
    #content {
    float:left;
    position:relative;
    background-color:white;
    vertical-align:top;
    width:768px;
    }
    bon donc voila le problème, c'est que déjà, ma division du (au fond vert pour le test) contient bien apparemment les div liens et content mais:
    si content est plus grande que liens, liens ne s'étire pas jusqu'en bas.
    et en plus, la différence est noire, pas verte comme elle devrait.

    donc il doit y avoir un problème avec le type de conteneur que j'utilise.

    je pète les plombs au secour!!!!

  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

    Essaie ceci :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="maintable">  
    	<div id="ban">mon objet flash</div>  
    	<div id="milieu">  
    		<div id="liens">les liens du menu</div>  
    		<div id="content">mon contenu</div> 
    	</div>  
    	<div id="bottom"><img src="bottom.gif" alt="" /></div> 
    </div>
    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
    #maintable {
    border-top-width:0;
    border-left-width:0;
    border-right-width:1px #fff solid;
    border-bottom-width:1px #fff solid;
    background-color:#000;
    width:900px;
    margin:auto;
    }
     
     
    #liens {
    position:relative;
    width:130px;
    height:100%;
    border-right:dashed 1px;
    border-left:1px #fff solid;
    background-color:#00baff;
    float:left;
    }
     
     
    #content {
    float:left;
    position:relative;
    background-color:#ff0;
    vertical-align:top;
    width:768px;
    height:100%;
    }
     
    #milieu {
    background-color:#0f0;
    height:500px;
    }
     
    #ban {
    height:75px; 
    background-color:#ccc;
    }

  3. #3
    Membre confirmé Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Par défaut
    oui ça marche bien tant que le contenu est plus petit que 500px de hauteur, mais comment faire pour les cas où c'est plus grand?
    on peut faire en sorte que ça se réajuste??

  4. #4
    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
    Rajoute ceci ente tes balises <head> et </head> :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function reajuste()
    {
            var hautLien = document.getElementById('liens').offsetHeight;
            var hautCont = document.getElementById('content').offsetHeight;
            if (hautLien>hautCont) document.getElementById('content').style.height=hautLien+'px';
            else document.getElementById('liens').style.height=hautCont + 'px';
    }
    </script>
    puis remplace ta balise body par ceci :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="reajuste()">
    ça devrait aller normalement.

  5. #5
    Membre confirmé Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Par défaut
    donc on est obligé de réajuster manuelle les deux div... elle ne peuvent pas se comporter comme des tableaux tout connement....

  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
    bè sinon il faut que tu définisses une hauteur fixe.

Discussions similaires

  1. [AJAX] Menu avec DIV
    Par Ge1st dans le forum AJAX
    Réponses: 3
    Dernier message: 07/05/2010, 12h31
  2. Problème menu avec explorer
    Par punisher999 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/04/2008, 05h17
  3. Problème ahref avec Div
    Par Tiresia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/10/2007, 19h02
  4. Problème menu déroulant / div
    Par cell dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/07/2006, 15h34
  5. [html+css] problème menu avec liens display:block
    Par Cypselos dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/08/2005, 09h39

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