[HTML] Float qui se colle

Fermé
Calli - 27 juin 2010 à 01:31
avion-f16 Messages postés 19247 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 4 juin 2024 - 27 juin 2010 à 20:19
Bonjour à tous.

J'ai un petit problème que je n'arrive pas à résoudre et qui me casse la tête. Je suis veux mettre un système de newsletter sur le site que je suis en train de faire en mettant le cadre d'inscription sur le coté (droit ou gauche peu importe).

Le code html de mon bout de page est:

<div class="newsletter">
<form method="post" action="newsletter.php">
<p>
<br/><br/><label for="AdresseMail">Adresse e-mail</label><br/>
<input type="text" name="AdresseMail" id="AdresseMail" size="20" maxlength="50" /><br/>
<input type="submit" value="S'inscrire" />
</p>
</form>

</div>

<div class="corps">

</div>

Le code CSS associé:

.corps
{
background-image: url("../img/news.png");
height: 997px;
width: 752px;
margin-top: 10px;
overflow: auto;
}

.newsletter
{
background-image: url("../img/newsletter.png");
height: 180px;
width: 180px;
background-repeat: no-repeat;
float: right;
margin-top: 150px;
}

J'ai donc mis un float: right; sur la newsletter, mais ce block est complètement collé à droite, ce qui provoque un décalage de mon block corps qui devrait être centré.

Voici le lien du site: http://www.littleliars.calli.fr/accueil.php

Quelqu'un aurait une idée svp??

Merci d'avance



A voir également:

2 réponses

Personne?
0
avion-f16 Messages postés 19247 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 4 juin 2024 4 501
27 juin 2010 à 20:19
Salut.

C'est tout à fait normal : la balise center est de type block, elle fait donc, par défaut, 100% de la largeur de son parent. Son parent étant body, tu ne lui as pas donné de largeur, il fait donc 100% de la fenêtre en largeur.

Je te conseil de créer un div qui contient tes deux colonnes, que tu centreras, avec une largeur fixe. Dans ce div, tu crées deux autres div : un pour la colonne de gauche, et un autre pour la droite.

Par exemple :
<div id="global">
    <div id="contenu">
        Ton contenu
    </div>

    <div id="sidebar">
        Colonne latérale
    </div>

    <div style="clear:both;"></div>
</div>


Le CSS devrait ressembler à ceci :
#global {
    width: 1200px;
    margin: auto;
    margin-top: 150px;
}

#contenu {
    width: 950px;
    background: url('image.png');
    /* ... */
}

#sidebar {
    float: right;
   width: 200px;
   /* ... */
}
0