Salut à tous !

J'ai un petit problème avec une de mes div, j'explique : tout d'abord j'ai une div de 800px avec une image que j'ai mis en repeat-y, et dans cette div j'ai ma div de contenu (news par exemple) qui doit en théorie ce répéter avec l'autre div, cependant elle ne le fait pas.

Je ne sais pas si vous avez tout compris donc voici quelques images :p

Voici mon code index.php :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 STRICT//EN" "http://www.w3.org/TR/xhtml1/DTDxhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:kang="fr" lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>B</title>
    <link rel="stylesheet" type="text/css" href="style.css" /> 
</head>
<body>
<div id="barre">
    <div class="barrel">Pseudo : <input type="text"/> Mot de passe : <input type="password" /> Mot de passe oublié ?</div>
    <div class="barrer"><a href="#">Inscription</a></div>
</div>
<div id="menu">
    <ul>
        <li><a href="index.php">Accueil</a></li>
        <li><a href="news.php">News</a></li>
        <li><a href="#">Profils</a></li>
        <li class="right"><a href="#">Contact</a></li>
    </ul>
</div>
<div style="clear: left;"></div>
<div id="haut_conteneur"></div>

<!-- ICI COMMENCE LE PROBLEME -->
<div id="content_conteneur">

    <div id="contenu">

        <div id="haut_contenu"></div>
        <div id="content_contenu">
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
            DAMNED !<br/><br/><br/>
        </div>
        <div id="bas_contenu"></div>

    </div>

    <div id="haut_nav"></div>
    <div id="contenu_nav">
        <br/><br/><br/><br/>
        <hr style="width: 50%;">
        <br/><br/><br/>
        <hr style="width: 50%;">
        Pub
    </div>
    <div id="bas_nav"></div>

</div>
<div id="bas_conteneur"></div>
</body>
</html>

Et enfin mon code css avec seulement les balises concerné :

#content_conteneur{
    background: url(image/content_conteneur.png) repeat-y;
    width: 800px;
}
#bas_conteneur{
    background: url(image/bas_conteneur.png) no-repeat;
    width: 800px;
    height: 40px;
}
#haut_contenu{
    background: url(image/haut_contenu2.png) no-repeat;
    width: 560px;
    height: 30px;
    text-align: center;
    font-size: 13px;
    color: white;
    text-align: left;
    line-height: 30px;
    padding-left: 5px;
}
#content_contenu{
    background: url(image/content_contenu.png) repeat-y;
    width: 560px;
    padding-left: 5px;
    padding-top: 12px;
}
#bas_contenu{
    background: url(image/bas_contenu.png) no-repeat;
    width: 560px;
    height: 13px;
}
#contenu{
    width: 560px;
    float: right;
    margin-right: 10px;
}

Merci d'avance à tout le monde :)

2 réponses


Nazahel
Réponse acceptée

Tout simplement parce que ton contenu est en float et sort donc du flux.

Pour que le parent tienne en compte les float de ses enfants, tu as 2 solutions :

  • Soit tu met un élément en "clear:both" avant la fermeture du parent
  • Soit tu indique au parent "overflow:hidden"

Dans les deux cas la div parente s'agrandira automatiquement ;)

Babou
Auteur

Ca marche nickel, j'ai utiliser overflow:hidden, merci Nazahel :D