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 :

Colonnes et float, float et colonnes


Sujet :

Tableau en CSS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Colonnes et float, float et colonnes
    Bonjour la communauté Développez.com

    Cela fait maintenant quelques temps que je bidouille des sites web, et je suis actuellement confronté à un problème incompréhensible.

    Je m'explique : mon but est de faire deux colonnes (un menu à gauche et le contenu à droite), le tout fait à base de <div> (bouh les <table> )
    Mon menu est en float: left;, le contenu a une propriété margin-left qui permet de ne pas recouvrir le menu.

    Voici le code 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
    <div id="page">
    	<div id="colonne_gauche">
    		<div id="menu">
    			<a href="#">Lien1</a>
    			<a href="#">Lien2</a>
    			<a href="#">Lien3</a>
    			<a href="#">Lien4</a>
    			...
    		</div>
    		<div id="online"><p class="entete">Qui est en ligne ?</p><p id="liste_membres" class="liste"></p><p id="liste_invites" class="liste"></p></div>
    	</div>
    	<div id="contenu">
    		...
    	</div>
    </div>
    et le code css de tout ce bazar :
    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
    41
    42
    43
    44
    45
    46
    47
    #page {
    	background: #CCCCCC;
    	position: relative;
    }
    #colonne_gauche {
    	float: left;
    	margin-left: 10px;
    	width: 230px;
    }
    #menu {
    	background: #99C500;
    	padding: 5px;
    	position: relative;
    }
    #menu a:link, #menu a:active, #menu a:visited {
    	border-left: 4px solid #BADE3E;
    	color: #000000;
    	display: block;
    	margin-bottom: 2px;
    	padding: 5px;
    	text-decoration: none;
    }
    #menu a:hover {
    	color: #FF6600;
    	background: #BADE3E;
    	padding-left: 10px;
    	text-decoration: none;
    }
    #online {
    	margin-top: 10px;
    	position: relative;
    }
    #online p.entete {
    	background: #99C500;
    	font-family: Georgia;
    	font-weight: bold;
    	padding: 3px;
    }
    #online p.liste {
    	padding: 5px;
    }
    #contenu {
    	background: #777777;
    	margin: 0px 10px 0px 260px;
    	padding: 5px;
    	position: relative;
    }
    Jusque là tout va bien. Mon contenu s'intègre proprement à sa place, pas de décalage non voulu, niquel.

    Le problème arrive lorsque je remplis mon contenu avec des lignes dont le code est le 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
    <div class="ligne_membre">
    	<span class="avatar"><img src="./extra/avatars/defaut.png" /></span>
    	<p class="infos"><strong><a href="#">Pseudo</a></strong> <em>alias</em> Prénom</p>
    	<div class="cleaner"></div>
    </div>
     
    .ligne_membre {
    	background: #99C500;
    	border-bottom: 1px solid #BADE3E;
    	margin: 0px 10px;
    	position: relative;
    }
    .avatar {
    	float: left;
    	margin: 10px;
    	text-align: center;
    	width: 130px;
    }
    .infos {
    	padding: 5px 150px;
    }
    Le problème est le suivant : si la première des lignes que je met dans mon contenu contient un "cleaner" (un bête div avec clear: both), la hauteur de cette ligne est influencée par la taille de ma colonne de gauche, mon menu !!!

    Voir en direct, c'est plus parlant (j'ai agrandit volontairement le contenu de mon menu pour que ce soit plus flagrant) : http://beta.briceparmentier.com/?page=membres

    Si le "contenu" n'a pas de "cleaner", tout est positionné comme il faut.

    Une des solutions est de spécifier une hauteur fixe pour chacune de mes lignes, mais j'aimerai trouver une solution pour que la hauteur de chaque ligne soit fonction de son contenu :p

    Merci d'avance de m'avoir lu et pour vos éventuelles pistes
    Brice

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjour

    J'ai trouvé une solution (à plus ou moins long terme), qui consiste à mettre ma colonne de gauche en position: absolute;.

    Je reste quand même demandeur du pourquoi de mon souci précédent :p

    Merci.
    Brice

Discussions similaires

  1. comment convertir une colonne string en float
    Par sinoun dans le forum Développement de jobs
    Réponses: 16
    Dernier message: 20/09/2011, 11h43
  2. colonne fixed devient float si overflow: comment?
    Par BlindeKinder dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 12/05/2011, 23h43
  3. div (colonne/menu) en float qui repousse le contenu
    Par ludovic.barman dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 03/04/2010, 00h35
  4. Rajout colonne - changer l'ordre des colonnes ?
    Par Coptere dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/09/2005, 10h56
  5. Initialisation d'une colonne par rapport à une autre colonne
    Par jeromesco dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2005, 17h15

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