Problème de div en css

Fermé
kitchi76 Messages postés 199 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 2 juin 2014 - 17 avril 2012 à 20:42
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 - 18 avril 2012 à 21:03
Bonjour,


Je vous explique mon problème.
Je suis en train de créer un site web mais j'ai de la difficulté avec les balises "div".En général,je m'en sors pas mal tout seul mais là je coince,je ne trouve pas de solutions.
Donc j'ai fait un div pour mon entete et dans cet entete,il y a 2 autres div que j'arrive à redimmensionner et à bouger à l'intérieur de mon div entete principal mais le problème est que je sais pas comment les rendre indépendant l'un de l'autre.Je m'explique:
Dés que j'essaye de donner un margin-top au premier,le deuxième descend en même temps et quand je fais un margin-top sur le deuxième,il prend sa position de départ sur le premier div et non sur la marge de l'entete principal.

Heu vous me suivez jusque là? :/
Bon,si oui,je vais vous montrer mes codes...Et si non,bin demandez moi,j'essaierais d'être plus clair.

Bon voici donc mon code HTML:

<!-- EN TETE -->
<center>
<div id="entete">
<--------entete général

<div id="textemenuimage"> <----------1er div
TITRE DE LA PAGE
</div>


<div id="retourmenu"> <----------2ème div
<a href="../index.html"> Retour au menu principal </a>
</div>

</div>
</center>
<!-- FIN -->


J'espère que le code est assez clair.
Voici maintenant mon code CSS:

#entete
{
color:white;
font-weight:bold;
height:100px;
width:1000px;
background:url('images/fond/banniere.png');
background-position:center;
border:2px solid red;
}


#textemenuimage
{
float:left;
width:300px;
margin-top:30px;
margin-left:350px;
border:2px solid red;
}



#retourmenu
{
float:right;
width:200px;
margin-right:50px;
border:2px solid red;
}



J'ai mis des bordures sur chaque div pour pouvoir les visualiser comme il faut.
Voilà les div "textemenuimage" et "retourmenu" ne sont pas indépendant l'un de l'autre,il y en a toujours un qui interagit dés que j'en modifie un autre.
Merci d'avance pour vos idées et votre aide.
A voir également:

3 réponses

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 18/04/2012 à 11:58
Bonjour,

1) puis-je vous suggérer de ne plus utiliser <center> ??? C'est obsolète. On préférera:

<div style='text-align: center;'>..........</div>


2) ensuite, je vous suggère d'exploiter le positionnement en css comme expliqué ici:
http://html5.immo-scope.com/index.php?page=html5/miseEnPageAvecPositionnement

3) enfin, puis-je vous suggérer également de limiter la prolifération des DIVs...???
Pour ce faire, il existe de nouvelles balises HTML5 spécialement dédiées à une bonne structuration sémantique du code HTML:
http://html5.immo-scope.com/index.php?page=html5/premierePageHtml5

Votre en-tête deviendrait:

<!-- EN TETE --> 
<header> 
    <h1>TITRE DE LA PAGE</h1> 
    <nav> 
       <a href="../index.html"> Retour au menu principal </a> 
     </nav> 
</header>


et le css qui va avec:

header { 
text-align: center; 
height:100px; 
width:1000px; 
background:url('images/fond/banniere.png'); 
background-position:center; 
border:2px solid red; 
} 


header h1 { 
color:white; 
font-weight:bold; 
float:left; 
width:300px; 
margin-top:30px; 
margin-left:350px; 
border:2px solid red; 
} 

header nav { 
display: block; 
} 




c'est pas plus lisible comme ça?

A peluche

un +1 sur mes commentaires - si vous avez apprécié - c'est gentil, merci.
1
kitchi76 Messages postés 199 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 2 juin 2014 49
18 avril 2012 à 15:57
En effet c'est plus clair mais il y'a un hic c'est que le "nav" de ton exemple ne se trouve plus dans mon entete principal,il se retrouve en dessous.
Et comme ça fait pas si longtemps que j'ai débuté dans le html/css,est-ce que je peux le déplacer à ma guise n'importe ou dans la page ou dans mon entete?

Je ne connais pas bien ces balises.

En tout cas,je vais les essayer c'est sur et aller sur les liens que tu m'as donné pour en savoir plus.
Merci pour ta réponse,elle m'a éclairé sur la façon dont je m'y prenais (bien que je suis pas si pire :D ).
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 avril 2012 à 16:04
avez-vous bien lu ce que j'ai écrit? Je vous conseille le positionnement en css. Je vous ai mis un lien avec des explications et exemples; Avec le positionnement en css, vous ferez tout ce que vous voulez, au pixel près!
0
kitchi76 Messages postés 199 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 2 juin 2014 49
18 avril 2012 à 16:10
Ok oui!
je m'en vais essayer,merci!
0
kitchi76 Messages postés 199 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 2 juin 2014 49
18 avril 2012 à 16:31
Une dernière chose,c'est que les attributs <header> <footer> etc... ne fonctionnentt pas sous IE9 mais sous firefox oui.

Y'a t-il un moyen pour que ça fonctionne sous explorer?
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 avril 2012 à 16:46
Il faurt mettre un petit javascript:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Titre de ma page</title>
<!--[if lte IE 8]><script src="js/ie.patch.js"></script><![endif]-->
</head>
<body>
    <article>
        <p>Bonjour tout le monde</p>
    </article>
</body>
</html>


Le commentaire conditionnel tel qu'il est défini dans le code source ci-avant est opérationnel pour toutes les versions de IE antérieures à la version 8. Si la page web est chargée par un navigateur web IE (Internet Explorer) dont la version est antérieure à IE9, on charge le code contenu dans le fichier ie.patch.js dont le contenu est le suivant:

var e = ("abbr,article,aside,audio,canvas,datalist,details," +
        "figure,footer,header,hgroup,mark,menu,meter,nav,output," +
        "progress,section,time,video").split(',');
for (var i = 0; < e.length; i++) {
    document.createElement(e[i]);
}
0
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
18 avril 2012 à 01:06
c'est pas logique... enfin du moins je comprends pas car tes balises sont bien indépendante l'une de l'autre.

Sous quel navigateur tu es ? tu ne peux pas mettre sur un hébergement fictif ton exemple car même en lisant ton code, c'est correct
0
kitchi76 Messages postés 199 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 2 juin 2014 49
18 avril 2012 à 15:59
Je suis sous IE9 et je travaille avec notepad++.
Et je suis comme toi,je pensais que mes balises était indépendante mais non.
0
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
18 avril 2012 à 21:03
je n'arrête pas de dév et d'intégrer sous plusieurs navigateurs et aucun problème sur cela. en ce qui concerne le javascript très franchement il vaut mieux chercher d'où cela vient plutôt que d'inventer un javascript inutile qui ne servira qu'à surcharger ta page.
0