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 :

Template 3 colonnes - problème d'étirement des sidebars


Sujet :

Tableau en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Août 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 20
    Par défaut Template 3 colonnes - problème d'étirement des sidebars
    Bonjours à tous,

    Je recode un site fais avec des tableaux en utilisant du HTML5 et le positionnement du CSS3.

    J'ai besoin d'un template comme celui-ci :



    J'ai obtenu ce résultat avec le code 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
     
    <!DOCTYPE html>
    <html lang="en">
     
    <head>
    <meta charset="UTF-8">
    <title>gabarit3col</title>
    <link rel="stylesheet" href="stylegab.css" />
    </head>
     
    <body>
    	<!--Left side bar-->
    	<nav id="leftbar" class="sidebar"></nav>
     
    	<!--Right side bar-->
    	<nav id="rightbar" class="sidebar"></nav>
     
    	<section id="mainpanel">
    		<header id="header">Header</header>
    		<nav id="menu">Menu</nav>
    		<section id="mainpanelbody"></section>
    		<footer> </footer>
    	</section>
    </body>
    </html>

    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
     
    body {
    	width: 1024px;
    	height : 100%;
    	border: 3px solid red;
    	background-color: #3b0046;
    	padding: 0;
    	font-family: Helvetica, sans-serif, Geneva, Arial;
     
    	/** Pour center le site**/
    	text-align: center;
    	margin-top: 10px;
    	margin-left: auto;
    	margin-right: auto;
    }
     
    #leftbar {
    	width: 175px;
    	float: left;
    	background: url("img/progbgleft.gif") repeat-y;
    	border: 3px solid orange;
    }
     
    #rightbar {
    	width: 175px;
        float: right;
    	background: url("img/progbgright.gif") repeat-y;
    	border: 3px solid pink;
    }
     
    #mainpanel {
    	overflow: hidden;
    	margin: auto;
    	width: 655px;
    	border: 3px solid green;
    }
     
    header {
    	height: 140px;
    }

    Mon problème c'est les deux sidebars ne s'étendent jusqu'au bas de la page. J'ai lu plusieurs tutoriel proposant diverses solutions mais aucune ne fonctionne.

    voici ce que j'obtient :


  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 218
    Par défaut
    Bonsoir,
    associes html à body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    html, body {
      width : 1024px;
      height : 100%;
    }
    et testes en ajoutant également des height:100%; à tes sidebars

  3. #3
    Membre actif
    Inscrit en
    Août 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 20
    Par défaut
    Bonjour et merci de ton aide NoSmoking.

    Malheuresement cela ne fonctionne pas, je ne me souvient plus exactement mais il me semble avoir lu que la propriété float change la façon donc un block hérite ses attributs du block parent. Si quelqu'un à une vrai explication je ne suis pas contre

    J'ai essayé une solution de type faux-colonnes mais cela ne m'a pas convaincu, ou alors je l'ai mal implémenté je ne sais pas.

    Une autre suggestion ?

  4. #4
    Membre éprouvé
    Avatar de Emyleen
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 151
    Par défaut
    J'ai une petite astuce qui consiste à créer une div comme ceci:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="ajusteur"></div>

    et à lui appliquer le style suivant :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    .ajusteur {
        clear: both;
        margin: 0;
        padding: 0;
    }

    ça me permet de régler tout mes problèmes de flottant, je la met quand je veux que 2 div aient la même hauteur.
    Mais peut être que ça ne résoudra pas le problème de 3 colonnes :s

Discussions similaires

  1. Problème d'alignement des colonnes dans un block
    Par zinabd dans le forum Designer
    Réponses: 1
    Dernier message: 03/12/2008, 14h28
  2. [JTable] Problème d'affichage des titres de colonnes
    Par saidgrd dans le forum Composants
    Réponses: 2
    Dernier message: 10/05/2008, 20h37
  3. [VBA-E] Problème pour masquer des colonnes.
    Par martiweb dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/04/2007, 02h53
  4. Réponses: 4
    Dernier message: 08/04/2007, 17h17
  5. problème de groupement des colonnes
    Par opeo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/09/2006, 16h35

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