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 :

emboiter correctement des éléments div


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut emboiter correctement des éléments div
    Bonjour à tous,

    Je débute avec les css, je viens de commencer à manipuler les div et je trouve ça super utile, par contre, j'ai quelques problèmes pour gérer l'agencement des div.

    Par exemple :

    Voici le code 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
    23
    24
    25
    26
     
    div#bandeau {
    width:100%;
    height:100px;
    background-color:#00CCFF;
    }
    ul#menu_horizontal li { 
    display : inline;
    padding : 0 0.5em; /* Pour espacer les boutons entre eux */
    }
    ul#menu_horizontal {
    text-align:center;
    list-style-type : none; /* Car sinon les puces se placent n'importe où */
    }
    div#logo {
    float:left;
    width:10%;
    height:100%;
    background-color:#00CCFF;
    }
    div#date {
    float:right;
    width:10%;
    height:100%;
    background-color:#00CCFF;
    }
    et 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
    16
    17
    18
    <body>
     
    <div id="bandeau">
     
    <ul id="menu_horizontal">
    <li><a href="accueil.php">Accueil</a></li>
    <li><a href="news.php">News</a></li>
    </ul>
     
    	<div id="logo">
    	logo
        </div>
    	<div id="date">
    	<?php
    		include("date.inc.php"); // on appelle le fichier
         ?>
         </div>
    </div>
    Le problème c'est que le texte contenu dans bandeau décale vers le bas tous les éléments flottants contenus dans bandeau. Ce qui n'est pas vraiment super.

    Vous avez une idée?

    Merci beaucoup.

  2. #2
    Membre expérimenté
    Avatar de tzilliox
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut
    Salut tanguy.L,

    Est-ce que placer tes éléments flottants avant ton contenu règle ton problème ?

    Autrement dit, essaye de placer dans ton code HTML les éléments #data et #logo plus haut que l'élément #menu_horizontal.

    Tiens-moi au courant,
    Thomas.

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    oui, ça marche....
    C'est ouf!!

    Merci beaucoup pour ton aide je vais pouvoir coder toute la nuit en toute sérénité...

    Mais comment t'as su?
    Je veux dire, qu'est ce qui se passe?

    En tout cas merci!!

  4. #4
    Membre expérimenté
    Avatar de tzilliox
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut De rien
    De rien tanguy.L !

    l'explication est simple : les éléments de types block, comme #menu_horizontal, prennent toute la largeur de l'élément parent, les éléments suivants sont donc forcément à la ligne.
    Les éléments flottants, eux ne prennent que la largeur dont ils ont besoin, ou la largeur qu'on leur a donné. De plus les éléments flottants sortent du flux, et permettent donc aux autres éléments de se mettre à la même hauteur qu'eux.

    En résumé, si tu mets tes éléments flottants après tes éléments blocks, ils seront forcément en dessous. Au contraire, si tu mets tes éléments flottants avant tu peux espérer qu'ils se mettent tous sur la même ligne, si ton élément parent est assez large pour le permettre.

    Bonne continuation,
    Thomas.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2013, 17h55
  2. Comment insérer correctement des div dans 960grid System ?
    Par razily dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/03/2012, 10h54
  3. [Dojo] Des éléments dijit qui ne s'affichent pas correctement sous IE
    Par Tavarez59 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 02/11/2009, 19h04
  4. charger des élément dans un Div (Ajax ?)
    Par fongus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/06/2007, 09h52

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