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 de positionnement de DIV en CSS


Sujet :

Positionnement en CSS

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut Problème de positionnement de DIV en CSS
    Bonjour,
    Sur un site, j'ai 4 cadres.



    Pour 1, 2 et 3, c'est bon, mais je n'arrive pas à placer 4 correctement. Il se place en haut, sous les cadres précédents. Voici les styles appliqués aux cadres.

    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
    #cadre1 {
    	float: left;
    	width: 210px;
    	padding-top: 0px;
    }
    #cadre2 {
    	position: absolute;
    	left: 10px;
    	right: 10px;
    	margin-left: 220px;
    	margin-right: 220px;
    	display: block;
    	border: 1px solid #369;
    	background-color: #FFF;
    	padding: 5px;
    }
     
    #cadre3 {
    	float: right;
    	width: 210px;
    	padding-top: 0px;
    }
    #cadre4 {
    	margin: auto;
    	color: #369;
    }

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    bonjour,

    il faut annuler le "float".
    pour cela ajoute simplement : float:none; et clear:both; dans la définition de #cadre4.

    Tu risques sans doute d'avoir encore un recouvrement avec #cadre2 que tu peux résoudre en le rendant "position:relative; float:left;" comme #cadre1

    Yan.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Je confirme le recouvrement de 2 et 4, que j'avais déjà rencontré lors de mes essais, le cadre 4 se positionnant juste sous 3 sans tenir compte de la hauteur de 2. PAr contre, en modifiant le style de 2 comme tu me l'as indiqué, j'obtiens ceci :/


  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    effectivement, il faut aussi enlever tes marges sur #cadre2 du coup (je n'avais pas vu que tu n'avais pas utilisé left)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Par défaut
    Je pense que un clear both,un width et un float ferait l'affaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #cadre4 {
              width: 100%;
              float: left;
              clear: both;
    }

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par julied2 Voir le message
    Je pense que un clear both,un width et un float ferait l'affaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #cadre4 {
              width: 100%;
              float: left;
              clear: both;
    }
    pour le width il vaut mieux utiliser auto plutôt que 100% si tu as du padding/margin. (100% n'en tient pas compte)

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Encore pire.



    Je remets les styles actuels au cas où j'aurai oublié qqch.

    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
    #cadre1 {
    	/*position: absolute;*/
    	float: left;
    	width: 210px;
    	padding-top: 0px;
    	font-family: "Trebuchet MS", Helvetica, Verdana;
    	font-size: 10pt;
    }
    #cadre2 {
    	position: relative;
    	float: left;
    	left: 10px;
    	right: 10px;
    /*	margin-left: 220px;
    	margin-right: 220px;*/
    	display: block;
    	border: 1px solid #369;
    	background-color: #FFF;
    	padding: 5px;
    }
    #cadre3 {
    	float: right;
    	width: 210px;
    	padding-top: 0px;
    	font-family: "Trebuchet MS", Helvetica, Verdana;
    	font-size: 10pt;
    }
    #cadre4 {
    	/*width: auto;*/
    	float: none;
    	clear: both;
    	margin: auto;
    	color: #369;
    	border: 1px solid black;
    }
    J'ai aussi essayé la proposition de julied2.

    Ne serait-il pas plus simple de faire un grand cadre englobant 1, 2 et 3, et de placer 4 en relatif ?

  8. #8
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Salut,
    Un lien qui pourrait t'être utile en l'adaptant... (affiche la source)
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Merci pour ton lien Hiron, je pense effectivement que ça va me servir.

  10. #10
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Citation Envoyé par eric41 Voir le message
    Merci pour ton lien Hiron, je pense effectivement que ça va me servir.
    L'avantage est ce type de structure (site 100% hauteur) :

    - Si le contenu est inférieur à la hauteur de la page, le footer se place en bas de page.
    - Si le contenu est supérieur, le footer descend et s'ajuste en fonction.

    A modifier à ta convenance
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par eric41 Voir le message
    Encore pire.



    Je remets les styles actuels au cas où j'aurai oublié qqch.

    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
    #cadre1 {
    	/*position: absolute;*/
    	float: left;
    	width: 210px;
    	padding-top: 0px;
    	font-family: "Trebuchet MS", Helvetica, Verdana;
    	font-size: 10pt;
    }
    #cadre2 {
    	position: relative;
    	float: left;
    	left: 10px;
    	right: 10px;
    /*	margin-left: 220px;
    	margin-right: 220px;*/
    	display: block;
    	border: 1px solid #369;
    	background-color: #FFF;
    	padding: 5px;
    }
    #cadre3 {
    	float: right;
    	width: 210px;
    	padding-top: 0px;
    	font-family: "Trebuchet MS", Helvetica, Verdana;
    	font-size: 10pt;
    }
    #cadre4 {
    	/*width: auto;*/
    	float: none;
    	clear: both;
    	margin: auto;
    	color: #369;
    	border: 1px solid black;
    }
    J'ai aussi essayé la proposition de julied2.

    Ne serait-il pas plus simple de faire un grand cadre englobant 1, 2 et 3, et de placer 4 en relatif ?
    Pour moi il n'y a pas de problème avec cette CSS...

    Peut être que le soucis vient du html. Attention avec les éléments "Float".
    il est préférable de les placer avant le contenu "fixe" (ici cadre2).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div id="cadre1">	Praesent facilisis. Nam quis elit. Cras nisl nisl, laoreet quis, iaculis vitae, condimentum ut, nisi. 
    	Donec dolor sapien, rhoncus quis; placerat lobortis, tempor vitae, risus. 
    	Pellentesque at diam non purus ornare scelerisque. Aliquam quis mi.
    </div><div id="cadre3">	Praesent facilisis. Nam quis elit. Cras nisl nisl, laoreet quis, iaculis vitae, condimentum ut, nisi. 
    	Donec dolor sapien, rhoncus quis; placerat lobortis, tempor vitae, risus. 
    	Pellentesque at diam non purus ornare scelerisque. Aliquam quis mi.
    </div><div id="cadre2">	Praesent facilisis. Nam quis elit. Cras nisl nisl, laoreet quis, iaculis vitae, condimentum ut, nisi. 
    	Donec dolor sapien, rhoncus quis; placerat lobortis, tempor vitae, risus. 
    	Pellentesque at diam non purus ornare scelerisque. Aliquam quis mi.
    </div><div id="cadre4">	Praesent facilisis. Nam quis elit. Cras nisl nisl, laoreet quis, iaculis vitae, condimentum ut, nisi. 
    	Donec dolor sapien, rhoncus quis; placerat lobortis, tempor vitae, risus. 
    	Pellentesque at diam non purus ornare scelerisque. Aliquam quis mi.
    </div>

  12. #12
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Peut être que le soucis vient du html.
    Tu ne proposes à aucun moment un DocType.
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par HiRoN Voir le message
    Tu ne proposes à aucun moment un DocType.
    Exact. Je n'y ai pas pensé (son code ne nous ayant pas été fourni).

    Je met personnellement systématiquement un DocType...

    Et effectivement sans ça fonctionnem moins bien

  14. #14
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    J'utilise un doctype XHTML Transitional.

  15. #15
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Quelque chose comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div style="overflow:hidden;background:red">
       <div style="width:210px;float:left;background:green">Cadre 1</div>
     
       <div style="width:210px;float:right;background:blue">Cadre 3</div>
     
       <div style="overflow:hidden;background:yellow;height:500px">Cadre 2</div>
    </div>
     
    <div style="background:purple">Cadre 4</div>
    T'as le droit d'enlever le height sur le cadre 2.

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

Discussions similaires

  1. Problème de positionnement de DIV
    Par Shr3ck dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/01/2010, 15h19
  2. Problème de positionnement de div sur IE6
    Par hraiwen dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/08/2009, 14h03
  3. problème de positionnement de DIV Firefox différent de IE
    Par Ekimasu dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 05/06/2007, 16h19
  4. [CSS] Problème de positionnement de DIV
    Par Oberown dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 31/01/2006, 17h03
  5. [CSS]Problème de positionnement avec div
    Par Tueur_a_gage dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 25/10/2005, 23h48

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