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 conteneur qui se chevauchent [CSS 2]


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Tchupa
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 98
    Par défaut Problème de conteneur qui se chevauchent
    Bonjour, je rencontre actuellement un gros problème de conteneur, ils se chevauchent

    Voici un petit screen du problème en question.


    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <div id="conteneur">
    <div id="conteneur-gauche">
    <div class="head_block1">Rayons</div> <!-- tête du bloc rayon -->
    <div class="body_block">
     
    </div> <!-- corp du bloc rayson -->
     
    <div class="head_block1">Nos Marques</div> <!-- tête du bloc marques -->
    <div class="body_block">
     
    </div> <!-- corp du bloc marques -->
    </div>
     
    <div id="milieu">
     
    </div>
     
    <div id="conteneur-droit">
    <div class="head_block1">Login</div> <!-- tête du bloc login -->
    <div class="body_block2">
     
    </div>
     
    <div class="head_block1">Newsletter</div> <!-- tête du bloc login -->
    <div class="body_block2">												
     
    </div>
    </div>
    </div>
    Mon 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    #conteneur
    {
    	background-color:#FFFFFF;
    	width:980px;
    	height:1708px;
     
     
    	border-style:solid;
    	border-color:green;
    	border-width:2px;
    }
     
    #conteneur-gauche
    {
    	float:left;
    	width:180px;
    	padding-top:10px;
     
    }
     
    #conteneur-droit
    {
    	float:right;
    	width:200px;
    	padding-top:10px;
    	padding-right:0px;
    }
     
    #milieu
    {
    	width:568px;
    	background-color:#FFFFFF;
    	margin: 0 0 0 181px;
    	padding: 10px;
    	border-style:solid;
    	border-color:red;
    	border-width:1px;
    }
    Je ne comprends pas pourquoi ça se déforme comme ça.

  2. #2
    Membre chevronné Avatar de desert
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Par défaut
    Bonjour,
    C'est un comportement normal. Étant donné que le texte à l'intérieur ne possède pas d'espace, il devient impossible pour le navigateur de séparer une partie du contenu pour le mettre à la ligne.
    Dans le cas où le texte ne contiendrait aucun espace, il faudrait soit passer par Javascript ou un langage orienté client-serveur (php, asp, etc...), soit appliquer la propriété overflow:auto couplée avec une largeur fixe qui affichera un scrollbar si jamais le contenu se mettait à dépasser du conteneur.
    Il y a peut-être d'autres solutions mais ce ne sont pour l'instant que les seules qui sortent de ma petite tête cabossée.

  3. #3
    Membre confirmé Avatar de Tchupa
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 98
    Par défaut
    Citation Envoyé par desert Voir le message
    Bonjour,
    C'est un comportement normal. Étant donné que le texte à l'intérieur ne possède pas d'espace, il devient impossible pour le navigateur de séparer une partie du contenu pour le mettre à la ligne.
    Dans le cas où le texte ne contiendrait aucun espace, il faudrait soit passer par Javascript ou un langage orienté client-serveur (php, asp, etc...), soit appliquer la propriété overflow:auto couplée avec une largeur fixe qui affichera un scrollbar si jamais le contenu se mettait à dépasser du conteneur.
    Il y a peut-être d'autres solutions mais ce ne sont pour l'instant que les seules qui sortent de ma petite tête cabossée.
    Il suffit de mettre un espace dans mon text? de l'id milieu ?
    Ou j'ai pas tout saisie?

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Il faut flotter la div #milieu, le margin-left:181px; est inutile dans ton cas étant donné que #milieu a une largeur fixe :

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #milieu
    {
    	width:568px;
    	background-color:#FFFFFF;
    	/* margin: 0 0 0 181px; */
    	float:left;
    	padding: 10px;
    	border-style:solid;
    	border-color:red;
    	border-width:1px;
    }

    Dans ton exemple, et comme le dit desert, l'alignement du texte est forcé, essayes quelque chose de naturel comme :

    Auxerunt haec vulgi sordidioris audaciam, quod cum ingravesceret penuria commeatuum, famis et furoris inpulsu Eubuli cuiusdam inter suos clari domum ambitiosam ignibus subditis inflammavit rectoremque ut sibi iudicio imperiali addictum calcibus incessens et pugnis conculcans seminecem laniatu miserando discerpsit. post cuius lacrimosum interitum in unius exitio quisque imaginem periculi sui considerans documento recenti similia formidabat.
    Citation Envoyé par desert Voir le message
    Dans le cas où le texte ne contiendrait aucun espace, il faudrait soit passer par Javascript ou un langage orienté client-serveur (php, asp, etc...), soit appliquer la propriété overflow:auto couplée avec une largeur fixe qui affichera un scrollbar si jamais le contenu se mettait à dépasser du conteneur.
    Il y a peut-être d'autres solutions mais ce ne sont pour l'instant que les seules qui sortent de ma petite tête cabossée.
    Heureusement qu'il n'existe pas de texte sans espace

  5. #5
    Membre confirmé Avatar de Tchupa
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 98
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    Bonjour,

    Il faut flotter la div #milieu, le margin-left:181px; est inutile dans ton cas étant donné que #milieu a une largeur fixe :

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #milieu
    {
    	width:568px;
    	background-color:#FFFFFF;
    	/* margin: 0 0 0 181px; */
    	float:left;
    	padding: 10px;
    	border-style:solid;
    	border-color:red;
    	border-width:1px;
    }

    Dans ton exemple, et comme le dit desert, l'alignement du texte est forcé, essayes quelque chose de naturel comme :





    Heureusement qu'il n'existe pas de texte sans espace
    Merci pour votre aide.

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

Discussions similaires

  1. problème label qui se chevauchent chart pie
    Par sandro4 dans le forum C#
    Réponses: 2
    Dernier message: 04/11/2013, 22h54
  2. pb de if et end loop qui se chevauchent
    Par new_wave dans le forum Oracle
    Réponses: 5
    Dernier message: 21/11/2005, 10h35
  3. HTML : problème de tableaux qui se superposent
    Par paprika dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/10/2005, 15h55
  4. (jsp) problème avec sql qui contient la date
    Par future dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 31/08/2005, 16h18
  5. IDT, GDT qui se chevauchent ?
    Par Edouard Kaiser dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 19/07/2005, 13h43

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