28172 sujets

CSS et mise en forme, CSS3

Pages :
(reprise du message précédent)

Bonjour,

Bon, je vais rester en Doctype strict, j'arrive petit à petit à gérer les problèmes.

A présent revenons-en à mon problème de base, à savoir mon menu horizontal que ne se déroule pas avec Internet Explorer. Je pense qu'il y a des conditions à renseigner dans mon CSS pour qu'IE accepte mon menu mais je ne sais pas lesquelles.

Pouvez-vous m'aider s'il vous plait.

Je vous remets mon CSS :



/* Feuille de styles principale du site  http://zemickyunivers.free.fr  */

/* Html et Body */

html {
	font-size: 100%; /* --> Note 1 à la fin de la feuille de styles. */
}

body {
	margin: 0;
	padding: 10px 20px; /* -> Note 2 */
	font-family: Verdana, "Bitstream Vera Sans", "Lucida Grande", sans-serif;
	font-size: .8em; /* -> Note 3 */
	line-height: 1.25; /* -> Note 4 */
    color: #8a8a8a;
    background: #202020;
}

/* Global : Contient #entete, #navigation et #centre*/

#global {
    width: 800px;
    margin: 0 auto;
}

/* En-tête : Partie haute de la page contenant l'image du titre */

#entete {
    margin:5px 0px 5px 0px;
    background-image:url(img/titre.jpg);
    height: 150px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: #86150c;
}
#entete h1 {
    margin: 0;
}
#entete h1 img {
    float: left;
    margin: 7px 20px 10px 0;
}
#entete .sous-titre {
    margin: 4px 0 15px 0;
}

/* Navigation : Menu horizontal */

#navigation {
    margin: 10px 0px 10px 0px;
    display: block;
    background: #000000;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: #86150c;
}
#navigation ul {
    color: #d1d1d1;
    overflow: hidden;
    list-style: none;
    padding-left: 50px;
}
#navigation li {
    float: left;
    width: 100px;
}
#navigation ul li ul {
    display:none;
    position:absolute;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: #86150c;
    background-color: #000000;
    margin: 0 0 0 10px;
    padding: 2px 5px;
}
#navigation ul li ul li{
    width: 110px;
}
#navigation a {
    color: #d1d1d1;
    line-height: 1.5;
    font-size: .9em;
    text-decoration: none;
}
#navigation a:hover, #navigation a:focus {
    color: #ce1215;
}
#navigation ul li:hover ul {
    display:block;
}
#navigation li:hover ul li {
    float:none;
}

/* Centre : Bloc central contenant  #contenu et le menu vertical à gauche */

#centre {
    background: url(img/fond.png) repeat-y;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: #86150c;
    width: 100%;
    overflow: hidden;
}

/* Ephéméride : Apparait dans le menu vertical de gauche dans la page d'accueil et la page de contact */

#ephemeride {
    width: 160px;
    padding: 10px;
    float: left;
    font-size: 0.8em;
    text-align: center;
}

/* Contenu : Partie principale de la page */

#contenu {
    color: #8a8a8a;
    background: #000000;
    overflow: auto;
    margin-left: 200px;
    padding: 10px 20px;
}
#contenu a {
    color: #d1d1d1;
}
#contenu a:hover, #contenu a:focus {
    color: #ce1215;
}
#contenu > :first-child {
    margin-top: 10px;
}
#contenu p, #contenu li {
    line-height: 1.5;
}

/* Titres */

h1, h2, h3, h5, h6 {
	margin: 1em 0 .5em 0; /* -> Note 5 */
}
h1, h2 {
	font-family: Georgia, "Bitstream Vera Serif", Norasi, serif;
	font-weight: normal; /* -> Note 6 */
	text-align: center;
}
h1 {
	font-size: 3em; /* -> Note 7 */
	font-style: italic;
}
h2 {font-size: 1.8em;}
h3 {font-size: 1.2em;}
h4 {font-size: 1.0em;}
h5 {font-size: .8em;}

/* Listes */

ul, ol {
	margin: .75em 0 .75em 24px;
	padding: 0; /* -> Note 8 */
}
ul {
	list-style: square;
}
li {
	margin: 0;
	padding: 0;
}

/* Liens */

a {
    color: #d1d1d1;
	text-decoration: none;
}
a:hover, a:focus {
    color: #ce1215;
}
a img {
	border: 1px solid #86150c; /* Note -> 9 */
}
strong {
    color: #8a8a8a;
}

/* Citations */

blockquote, q {
	font-size: 1.1em;
	font-style: italic;
	font-family: Georgia, "Bitstream Vera Serif", Norasi, serif;
}
blockquote {
	margin: .75em 0 .75em 24px;
}
cite {
	font-style: italic;
}

/* Tableaux */

table {
	font-size: 1.0em;
}

/* Paragraphes */

p {
	margin: .75em 0;
}
li p, blockquote p {
	margin: .5em 0;
}
p.pcenter {				/* -> Note 10 */
	margin: .75em 0;
	text-align: center;
}
p.pright {				/* -> Note 10 */
	margin: .75em 0;
	text-align: right;
}

/* Pied de page */

#pied {
    margin: 0;
    padding: 15px 20px 10px 0;
    font-size: .85em;
}

/* Divers éléments */

em {
	font-style: italic;
}

.hr {
	width: 100%;
	background-color: #86150c;
	color: #86150c; /* On rajoute ce code pour que la ligne horizontale prenne la couleur voulue sur IE6 */
	height: 1px;
	border :none;
}



par avance merci.

Micky
Modifié par bisca330 (03 Feb 2011 - 09:32)
Bonjour,

Je viens de tester sous IE8 et ton menu ne pose aucun problème. Il fonctionne correctement.
Je n'ai pas d'autres vrais version de IE sous la main (faudrait que je regarde ça au bureau) mais avec des émulateurs des anciennes versions sous IE7 le menu se déroule aussi...

Sous quelle version de IE as tu des problèmes ? Ne viennent t-ils pas de ta machine ou de ta configuration du navigateur ?
Bonjour,

En effet, j'ai pu tester ce WE sous IE8 et ça passe. Le menu ne se déroule pas tout à fait de la même manière que sur Firefox (les sous-menus apparaissent sous le menu avec firefox et sur le côté droit du menu avec IE8) mais ça ira.

Par contre sous IE6 ça ne passe pas du tout, il ne se déroule pas. J'aimerai résoudre ce problème histoire d'être compatible avec le plus possible d'utilisateurs. Sinon tant pis, je n'en ferais pas toute une histoire Smiley cligne .

Micky
Bonsoir,

C'est une réaction normale de la part de IE6 car ce dernier n'interprète pas du "hover" sur autre chose que sur un lien, donc ta déclaration suivante n'affichera jamais ton sous menu sous IE < à 7 :

#navigation ul li:hover ul {display: block;}


Tu dois passer par du javascript pour une compatibilité avec IE6. Smiley cligne

Pour l'alignement de ton sous menu, il te suffit de le positionner correctement, ton li de niveau 1, tu le positionne en "relative" et son enfant <ul> "tu le positionne en "absolu" avec un "left" à 0 et "top" équivalent à la hauteur de ton menu.
Modifié par Spacedementia (07 Feb 2011 - 22:01)
Bonjour,

Bon, j'ai essayé mais je n'y arrive pas. J'ai tenté l'utilisation d'un fichier "csshover.htc" mais je dois mal l'implémenter. Est-ce que dans mon cas précis il y aurait moyen de mon montrer les modifications à apporter à mon code pour la prise en compte de mon menu sous IE6.

De plus je ne comprends pas où modifier mon code pour le décalage du sous-menu sous les autres versions de IE.

Je sais, je sais, c'est laborieux mais aujourd'hui je n'ai aucun éclair de génie... y'a des jours comme ça. Smiley decu

Micky
Bonjour,

J'ai laissé tombé mon menu 100% CSS qui posait problème sur IE6 au profit d'un menu CSS + Javascript qui pose problème sur toutes les versions de IE Smiley decu

J'aimerai tout de même essayer de corriger ce souci. Lorsqu'on navigue dans le menu la page se déplace parfois complètement en haut à gauche, par exemple cette page : http://zemickyunivers.free.fr/saintes_intro.php. De plus les rubriques dans les sous-menus se retrouvent plus espacées qu'elles ne le sont normalement.

Cette erreur apparait tout le temps aussi :

Message : Cet objet ne gère pas cette propriété ou cette méthode
Ligne : 3974
Caractère : 9
Code : 0
URI : http://zemickyunivers.free.fr/js/lightbox/prototype.js

Le fichier "prototype.js" (http://zemickyunivers.free.fr/js/lightbox/prototype.js) fait partie d'une méthode pour afficher les images de mon site avec un effet lightbox. Étonnement, depuis la mise en place du menu cette effet ne fonctionne plus, sur IE mais aussi sur Firefox.

N'hésitez pas à afficher le code source des pages de mon site si vous voulez le décortiquer.

Par avance merci

Micky
J'ai oublié de mettre un lien vers un test du menu que j'ai adapté pour créer le mien. C'est ici : http://zemickyunivers.free.fr/testmenu.html. Tout est dans le code source de la page (CSS, JS...). Il fonctionne bien sous IE.

Quelqu'un peut-il me venir en aide ? Peut-être Laurie-Anne qui préconise d'utiliser le Javascript pour créer des menus ?

S'il vous plait...

Micky
Toujours personne ? Vais-je être obligé de faire machine arrière et réinstaller mon menu 100% CSS et incompatible avec IE6 ?

Un peu d'aide ? S'il vous plait... Smiley help

Micky
Bon, Je ne suis pas du style à abandonner (pas comme d'autres sur ce forum apparemment) alors je suis revenu à la première version de mon menu 100% CSS. En effet, la partie Javascript de l'autre menu entrait en conflit avec les script lightbox pour l'affichage de mes images.

Après avoir passé mes pages sur le validateur CSS et HTML il s'avère que ce menu passe bien sur Firefox et IE8. J'ai laissé tomber IE6, trop vieux, et ne vaut pas la peine qu'on s'use dessus.
Petit bémol bien sûr, sinon j'aurais fermé ce sujet depuis longtemps, et sur IE8, cela va de soit. Donc sur IE8 (je n'ai pas testé avec IE7) en local le menu fonctionne parfaitement. Par contre sur le serveur de Free il décale trop mes sous-menus vers la droite et il efface le Padding haut et bas. De plus il interprète mal ma barre (hr) sous l'éphéméride, normalement elle est rouge. Pour voir comment se comporte mon menu aller sur http://zemickyunivers.free.fr avec Firefox. Avec IE en local c'est pareil.

Voici la partie menu de CSS parce que j'ai tout de même l'impression que ça vient de là :



/* Navigation : Menu horizontal */

#navigation {
margin: 10px 0px 10px 0px;
    display: block;
    background: #000000;
   	color: #d1d1d1;
    border-top: 1px solid #86150c;
    border-bottom: 1px solid #86150c;
    line-height: 1.5;
    font-size: .9em;
}
#navigation ul {
    overflow: hidden;
    list-style: none;
}
#navigation li {
    float: left;
    width: 105px;
    text-align: center;
}
#navigation ul li ul {
    display:none;
    position:absolute;
    border-top: 1px solid #86150c;
    border-bottom: 1px solid #86150c;
    background-color: #000000;
    margin: 0 0 0 40px;
    padding: 2px 5px;
}
#navigation ul li ul li{
    width: 110px;
    text-align: left;
}
#navigation ul li:hover ul {
    display:block;
}
#navigation li:hover ul li {
    float:none;
}



Merci de bien vouloir m'aider un peu.

Micky
Tetranima a écrit :
Franchement, je serais toi, je laisserais tomber IE6.

Surtout pour un site personnel.
Pages :