28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous ! avant de passer sur le salon de présentation, je vous fais part d'un soucis qui m'embête un brin ^^
J'ai trouvé un tutoriel (oui, bon, pas chez Alsa, mais le monsieur qui l'a fait se référe souvent à vous Smiley lol ), donc j'ai trouvé un tuto pour faire un menu déroulant horizontal en css et js à trois niveaux. Mais il bug méchamment sur opéra Smiley ohwell
Si quelqu'un aurait le temps de regarder mon code css ainsi que mon code html, ça pourrait m'enlever une sacrée épine du pied ! Mais attention, je dis "si quelqu'un aurait le temps" paske au possible, si mon/ma sauveur(veuse) pouvait un peu m'expliquer son raisonnement, ça serait chou Smiley smile histoire que je ne me couche pas trop c*n ce soir Smiley rolleyes
NB : le bug sous Opéra, c'est que les menus et sous menus ne disparaissent pas après le passage de la souris :-S

donc bon...

voilà mon CSS :

body{
font-family:Arial, Helvetica, sans-serif;
font-size:11px;
font-weight:bold;
}

#container {
	width: 1000px;
	margin: 0 auto;
}

#nav, #nav ul {
	float: left;
	width: 1000px;
	list-style:none;
	line-height: 1;
	background: #FFFFFF;
	padding: 0;
	border: solid #8AA0FF;
	border-width: 2px;
	margin: 0em 0 2em 0;
}

#nav a {
	display: block;
	width: 7em;
	w\idth: 7em;
	text-decoration: none;
	padding: 0.25em 2em;
}

/*Mise en place des flêches*/
#nav a.daddy {
	background: url(rightarrow2.gif) center no-repeat;
	padding-right:15em;
}

#nav a.daddy2{
	background: url(downarrow2.gif) center right no-repeat;
		padding-right:10%;
}
/*-----------------------------*/

/*Taille occupée par les titres des menus principaux*/
#nav li {
	float: left;
	padding: 0;
	width: 10em;
	background-color:#FFFFFF;
}

/*Apparence globale des menus déroulants*/
#nav li ul {
	position: absolute;
	left: -999em;
	height: auto;
	width: 14em;
	w\idth: 14em;
	border-width: 0.25em 0.25em 0.25em 0.25em;
	margin: 0;
}

/*Taille et place occupée par le rollON*/
#nav li li {
	padding-right: 1em;
	width: 13em;
}

/*Taille des cadres du menu déroulant*/
#nav li ul a {
	width: 13em;
	w\idth: 9em;
}

/*Niveau d'apparition des sous-sous menus*/
#nav li ul ul {
	margin: -30px 0 0 14em;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
	left: -999em;
}

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
	left: auto;
}

#nav li:hover, #nav li.sfhover {
	background:#8AA0FF;
}


et voilà le code de ma page HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>

<script type="text/javascript"><!--//--><![CDATA[//><!--
sfHover = function() {
   var sfEls = document.getElementById("nav").getElementsByTagName("li");
   for (var i=0; i<sfEls.length; i++) {
      sfEls[i].onmouseover=function() {
         this.className+=" sfhover";
      }
      sfEls[i].onmouseout=function() {
      this.className=this.className.replace(new RegExp(" sfhover\b"), "");
      }
   }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]]></script>	

<link href="index2.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="container">
   <ul id="nav">
      <li><a href="#">Accueil</a></li>
         <li><a href="#" class="daddy2">Soci&eacute;t&eacute;</a>
         <ul>
            <li><a href="#nogo">Notre activit&eacute;</a></li>
            <li><a href="#nogo">Notre savoir-faire</a></li>
            <li><a href="#nogo">Notre politique Qualit&eacute;</a></li>
            <li><a href="#nogo">Notre r&eacute;seau commercial</a></li>
         </ul>
      </li>
      <li><a href="#" class="daddy2">Produits</a>
         <ul>
            <li><a href="#" class="daddy">Chirurgie de la cataracte</a>
            <ul>
            <li><a href="#nogo">Implants</a></li>
            <li><a href="#nogo">Visqueux</a></li>
            <li><a href="#nogo">Anneaux</a></li>
            <li><a href="#nogo">Injecteurs/cartouches</a></li>
            <li><a href="#nogo">Clous</a></li>
            </ul></li>
            <li><a href="#" class="daddy">Laser (applications en...)</a>
            <ul>
            <li><a href="#nogo">Presbytie</a></li>
            <li><a href="#nogo">R&eacute;fractive</a></li>
            <li><a href="#nogo">Cataracte</a></li>
            <li><a href="#nogo">Glaucome</a></li>
            <li><a href="#nogo">R&eacute;tine</a></li>
            </ul></li>
            <li><a href="#" class="daddy">Mat&eacute;riels</a>
            <ul>
            <li><a href="#nogo">Station r&eacute;fractive</a></li>
            <li><a href="#nogo">Topographe</a></li>
            <li><a href="#nogo">Epik&eacute;ratome</a></li>
            </ul></li></ul>
            
                                 <li><a href="#" class="daddy2">Le Multisite</a>
                 <ul>
                     <li><a href="#nogo">Le Multisite, pourquoi ?</a></li>
                     <li><a href="#nogo" class="daddy">Nos choix technologiques</a>
                 <ul>
                     <li><a href="#nogo">Laser Excimer Isobeam D200</a></li>
                     <li><a href="#nogo">Microk&eacute;ratome</a></li>
                 </ul>    
                     <li><a href="#nogo">Pour en savoir plus</a></li>
                 </li></ul>    
                     
               <li><a href="#nogo">Implantations</a></li>

      <li><a href="#" class="daddy2">Actualit&eacute;</a>
         <ul>
            <li><a href="#nogo">Derni&egrave;rement</a></li>
            <li><a href="#nogo">Les congr&eacute;s</a></li>
            <li><a href="#nogo">Les offres d'emploi</a></li>
         </ul>
      </li>
               <li><a href="#nogo">Contact</a></li>
               <li><a href="#nogo">Liens</a></li>
               <li><a href="#nogo">Carte du site</a></li>

   </ul>

</div>

</body>
</html>


Merci d'avance Smiley cligne [/i][/i]
Modifié par UFT-8 (13 Nov 2007 - 14:26)
Salut UTF-8 Smiley cligne ,

il manque un </li> juste avant :
<li>
<a href="#" class="daddy2">Le Multisite</a>
et il y en un en trop juste avant :
</ul>
<li><a href="#nogo">Implantations</a></li>

Pour les explications : quand les balises sont mal ouvertes/fermées, chaque navigateur se débrouille à l'aide de ses propres règles pour corriger cela Smiley lol !

A+
Diantre ! Smiley eek je vais observer ça de plus près ! Avec toutes ces balises on s'y perd (enfin, moi... Smiley sweatdrop )

Merci Smiley lol
Modifié par UFT-8 (13 Nov 2007 - 15:18)
Je viens de vérifier tout ça, et effectivement, ça manquait de balises ^^ j'en ai même trouvé une autre qui manquait (voir en gras)

<li><a href="#" class="daddy2">Le Multisite</a>
                 <ul>
                     <li><a href="#nogo">Le Multisite, pourquoi ?</a></li>
                     <li><a href="#nogo" class="daddy">Nos choix technologiques</a>
                 <ul>
                     <li><a href="#nogo">Laser Excimer Isobeam D200</a></li>
                     <li><a href="#nogo">Microk&eacute;ratome</a></li>
                 </ul>    
                     <li><a href="#nogo">Pour en savoir plus</a></li>
                 </ul> [b]</li>[/b]   


Cependant, le problème persiste Smiley rolleyes

Voilà où j'en suis pour le moment :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>

<script type="text/javascript"><!--//--><![CDATA[//><!--
sfHover = function() {
   var sfEls = document.getElementById("nav").getElementsByTagName("li");
   for (var i=0; i<sfEls.length; i++) {
      sfEls[i].onmouseover=function() {
         this.className+=" sfhover";
      }
      sfEls[i].onmouseout=function() {
      this.className=this.className.replace(new RegExp(" sfhover\b"), "");
      }
   }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]]></script>	

<link href="index2.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="container">
   <ul id="nav">
      <li><a href="#">Accueil</a></li>
         <li><a href="#" class="daddy2">Soci&eacute;t&eacute;</a>
         <ul>
            <li><a href="#nogo">Notre activit&eacute;</a></li>
            <li><a href="#nogo">Notre savoir-faire</a></li>
            <li><a href="#nogo">Notre politique Qualit&eacute;</a></li>
            <li><a href="#nogo">Notre r&eacute;seau commercial</a></li>
         </ul>
      </li>
      <li><a href="#" class="daddy2">Produits</a>
         <ul>
            <li><a href="#" class="daddy">Chirurgie de la cataracte</a>
            <ul>
            <li><a href="#nogo">Implants</a></li>
            <li><a href="#nogo">Visqueux</a></li>
            <li><a href="#nogo">Anneaux</a></li>
            <li><a href="#nogo">Injecteurs/cartouches</a></li>
            <li><a href="#nogo">Clous</a></li>
            </ul></li>
            <li><a href="#" class="daddy">Laser (applications en...)</a>
            <ul>
            <li><a href="#nogo">Presbytie</a></li>
            <li><a href="#nogo">R&eacute;fractive</a></li>
            <li><a href="#nogo">Cataracte</a></li>
            <li><a href="#nogo">Glaucome</a></li>
            <li><a href="#nogo">R&eacute;tine</a></li>
            </ul></li>
            <li><a href="#" class="daddy">Mat&eacute;riels</a>
            <ul>
            <li><a href="#nogo">Station r&eacute;fractive</a></li>
            <li><a href="#nogo">Topographe</a></li>
            <li><a href="#nogo">Epik&eacute;ratome</a></li>
            </ul></li></ul>
            
                                 </li>
                                 
                                 <li><a href="#" class="daddy2">Le Multisite</a>
                 <ul>
                     <li><a href="#nogo">Le Multisite, pourquoi ?</a></li>
                     <li><a href="#nogo" class="daddy">Nos choix technologiques</a>
                 <ul>
                     <li><a href="#nogo">Laser Excimer Isobeam D200</a></li>
                     <li><a href="#nogo">Microk&eacute;ratome</a></li>
                 </ul>    
                     <li><a href="#nogo">Pour en savoir plus</a></li>
                 </ul> </li>   
                     
               <li><a href="#nogo">Implantations</a></li>

      <li><a href="#" class="daddy2">Actualit&eacute;</a>
         <ul>
            <li><a href="#nogo">Derni&egrave;rement</a></li>
            <li><a href="#nogo">Les congr&eacute;s</a></li>
            <li><a href="#nogo">Les offres d'emploi</a></li>
         </ul>
      </li>
               <li><a href="#nogo">Contact</a></li>
               <li><a href="#nogo">Liens</a></li>
               <li><a href="#nogo">Carte du site</a></li>

   </ul>

</div>

</body>
</html>


Je sais, c'est tout à fait le genre de problème sur lequel on aime pas se pencher, je planche de mon coté là mais je me dit que décidemment le problème serait ailleurs... -_- ou pas
Existe-t-il un logiciel ou autre qui indique les balises pas fermées ? Ou MIEUX, qui indique les bugs Smiley langue
Trève de plaisanterie, j'ai malheureusement le dizz du site à faire en plus du reste, je re-fonce donc Smiley smile [/i][/i]
Modifié par UFT-8 (13 Nov 2007 - 15:19)
Re',

en fait il en manquait encore un... ce qui donne :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test menu css</title>
<style type="text/css">
body{
font-family:Arial, Helvetica, sans-serif;
font-size:11px;
font-weight:bold;
}
#container {
	width: 1000px;
	margin: 0 auto;
}
#nav, #nav ul {
	float: left;
	width: 1000px;
	list-style:none;
	line-height: 1;
	background: #FFFFFF;
	padding: 0;
	border: solid #8AA0FF;
	border-width: 2px;
	margin: 0em 0 2em 0;
}
#nav a {
	display: block;
	width: 7em;
	w\idth: 7em;
	text-decoration: none;
	padding: 0.25em 2em;
}
/*Mise en place des flêches*/
#nav a.daddy {
	background: url(rightarrow2.gif) center no-repeat;
	padding-right:15em;
}
#nav a.daddy2{
	background: url(downarrow2.gif) center right no-repeat;
		padding-right:10%;
}
/*-----------------------------*/
/*Taille occupée par les titres des menus principaux*/
#nav li {
	float: left;
	padding: 0;
	width: 10em;
	background-color:#FFFFFF;
}
/*Apparence globale des menus déroulants*/
#nav li ul {
	position: absolute;
	left: -999em;
	height: auto;
	width: 14em;
	w\idth: 14em;
	border-width: 0.25em 0.25em 0.25em 0.25em;
	margin: 0;
}
/*Taille et place occupée par le rollON*/
#nav li li {
	padding-right: 1em;
	width: 13em;
}
/*Taille des cadres du menu déroulant*/
#nav li ul a {
	width: 13em;
	w\idth: 9em;
}
/*Niveau d'apparition des sous-sous menus*/
#nav li ul ul {
	margin: -30px 0 0 14em;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
	left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
	left: auto;
}
#nav li:hover, #nav li.sfhover {
	background:#8AA0FF;
}
</style>
<script type="text/javascript"><!--//--><![CDATA[//><!--
sfHover = function() {
   var sfEls = document.getElementById("nav").getElementsByTagName("li");
   for (var j=0; j<sfEls.length; j++) {
      sfEls.onmouseover=function() {
         this.className+=" sfhover";
      }
      sfEls[j].onmouseout=function() {
      this.className=this.className.replace(new RegExp(" sfhover\b"), "");
      }
   }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]]></script>
<link href="index2.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
	<ul id="nav">
		<li><a href="#">Accueil</a></li>
		<li><a href="#" class="daddy2">Société</a>
			<ul>
				<li><a href="#nogo">Notre activité</a></li>
				<li><a href="#nogo">Notre savoir-faire</a></li>
				<li><a href="#nogo">Notre politique Qualité</a></li>
				<li><a href="#nogo">Notre réseau commercial</a></li>
			</ul>
		</li>
		<li><a href="#" class="daddy2">Produits</a>
			<ul>
				<li><a href="#" class="daddy">Chirurgie de la cataracte</a>
					<ul>
						<li><a href="#nogo">Implants</a></li>
						<li><a href="#nogo">Visqueux</a></li>
						<li><a href="#nogo">Anneaux</a></li>
						<li><a href="#nogo">Injecteurs/cartouches</a></li>
						<li><a href="#nogo">Clous</a></li>
					</ul>
				</li>
				<li><a href="#" class="daddy">Laser (applications en...)</a>
					<ul>
						<li><a href="#nogo">Presbytie</a></li>
						<li><a href="#nogo">Réfractive</a></li>
						<li><a href="#nogo">Cataracte</a></li>
						<li><a href="#nogo">Glaucome</a></li>
						<li><a href="#nogo">Rétine</a></li>
					</ul>
				</li>
				<li><a href="#" class="daddy">Matériels</a>
					<ul>
						<li><a href="#nogo">Station réfractive</a></li>
						<li><a href="#nogo">Topographe</a></li>
						<li><a href="#nogo">Epikératome</a></li>
					</ul>
				</li>
			</ul>
		</li>
		<li><a href="#" class="daddy2">Le Multisite</a>
			<ul>
				<li><a href="#nogo">Le Multisite, pourquoi ?</a></li>
				<li><a href="#nogo" class="daddy">Nos choix technologiques</a>
					<ul>
						<li><a href="#nogo">Laser Excimer Isobeam D200</a></li>
						<li><a href="#nogo">Microkératome</a></li>
					</ul>
				</li>
				<li><a href="#nogo">Pour en savoir plus</a></li>
			</ul>
		</li>
		<li><a href="#nogo">Implantations</a></li>
		<li><a href="#" class="daddy2">Actualité</a>
			<ul>
				<li><a href="#nogo">Dernièrement</a></li>
				<li><a href="#nogo">Les congrés</a></li>
				<li><a href="#nogo">Les offres d'emploi</a></li>
			</ul>
		</li>
		<li><a href="#nogo">Contact</a></li>
		<li><a href="#nogo">Liens</a></li>
		<li><a href="#nogo">Carte du site</a></li>
	</ul>
</div>
</body>
</html>
Pour ce qui est de valider la fermeture des balises, cela existe : cela s'appelle un validateur Smiley cligne .

Sinon, pas vu de problème avec Opera (9.24) Smiley ohwell

A+
UFT-8 a écrit :
Sigh ! mes bugs (meme avec tes dernières modif) sont vus sur 9.50 Smiley ohwell

La 9.50 est en version bêta non ?
Eh bien tout ce que je peux répondre c'est que sur mon mac, quand je vais dans Applications et que je clic sur l'icone d'Opera, je lis que c'est la 9.50 Smiley ohwell