Bonsoir à tous !
Alors voilà je débute un peu en html css et je rencontre un problème qui me prend la tête depuis maintenant un bon moment. Il est simple, je veux mettre une div à droite d'une autre mais ça refuse de fonctionner. Voici mon code fortement simplifier et une image pour tout expliquer.

html:

<div class="content">
    <div class="logo"></div>
    <div class="about">blablabla</div>
    <div class="nav">
        <ul>
            <li><a id="1" href="#">FOLIO</a></li>
            <li><a id="2" href="#">CONTACT</a></li>
        </ul>
    </div>
    <div class="follow">
        <p>Follow me :</p>
        <a href="#"><img src="img/twitter.png" /></a>
        <a href="#"><img src="img/google.png" width="26px" height="26px" /></a>
    </div>  
</div>
<div class="content2">blabalabalbla</div>

css:

body {
    margin:0;
    padding:0;
    background: url(img/bg.jpg) no-repeat center fixed; 
    -webkit-background-size: cover; /* pour Chrome et Safari */
    -moz-background-size: cover; /* pour Firefox */
    -o-background-size: cover; /* pour Opera */
    background-size: cover; /* version standardisée */
    font-family: 'AppleGaramondLightRegular';
    height: 100%;
}
.content {
    width: 272px;
    height: 100%;
    margin-left: 400px;
    background: url(img/content.png) repeat-y;
    padding-top: 100px;
    position: absolute;
    float: left;
}
.content2{
    background: url(img/folio-bg.png) repeat-y;
    width: 210px;
    height:100%;
    position: relative;
}

Or mon content2 se place carrément à gauche (voir image)et en plus de ça il ne prend pas toute la hauteur de la page.

Merci pour votre aide.
Cordialement.

4 réponses


extrarox
Réponse acceptée

Salut,

Déjà enlève les deux "position", ça foire le float.
Rajoute un "float: left;" sur le content2
Ensuite le height: 100% ne fonctionnera que si tu donnes une taille à un div qui entoure les deux autres genre "height: 500px;".

Avec le padding-top dans le content, tu auras les deux div de taille différente.

Pour plus de détaille n'hésite pas, a+

extrarox
Réponse acceptée

Salut,

Pour ton css, dans content2 : display: none;
Et dans Js, on va dire que si tu cliques sur content1, content2 s'affiche :

$("#content1").click(function(){
    $("#content2").slideToggle();
});

Si c'est ce que tu avais déjà tapé, envoi ton code^^

A++

SwithFr
Auteur

Merci pour ta réponse, ça fonctionne nickel !! Comme quoi le problème était sous mon nez. Mais je ne comprends pas pourquoi je dois mettre un padding sur les 2 pour avoir la même taille. Dans le content c'est pour positionner la div logo j'aurai mieux fait de faire un margin sur le logo ?

En tout cas merci.
Puis-je oser demander comment faire afficher mon content2 au clic avec la fonction slidetoggle de jquery ? je n'y suis pas arrivé par moi même enfin pas tout à fait. Elle s'affichait puis disparaissait automatiquement, une idée ?

SwithFr
Auteur

c'est exactement ce que j'ai fais mais j'ai toujours le même problème j'ai 5px sur la hauteur qui s'affiche de mon content2 et disparaît aussi tôt. Ce n'est même pas content 2 qui s'affiche en entier.

J'ai enfin trouvé ! C'est parce qu'en fait l'élément que je voulais cliquer est un lien donc <a href="..... Et j'avais une url dans ce lien. Je l'ai enlevé et tout marche comme sur des roulettes.

Encore merci, affaire classée !