28234 sujets
oui c'est bien ça... désolé pour le lien ou le code oublié...
en fait je souhaiterai pouvoir utiliser le code :
que j'ai trouvé sur le site http://www.ibilab.net/webdev/articles/CSS/creer-menus-cascade-simple-4.htm
mais je n'arrive pas à trouver où positionner le fameux
et j'ai essayé de comparer sur le site alsacreations les 2 scripts de menu horizontal et vertical qui sont proposés... en vain...
quelqu'un voit-il ce que je dois modifier pour adapter le code pour obtenir le menu horizontal?
merci à tous[/i][/i]
en fait je souhaiterai pouvoir utiliser le code :
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
ul#menu li ul{
display:none;
}
ul#menu li:hover>ul{
display:block;
}
ul#menu{
float:left;
}
ul#menu,
ul#menu ul{
background:#FFCCCC;
border:1px solid #990000;
list-style:none;
margin:0px;
padding:0px;
width:148px;
_width:150px;
}
ul#menu ul{
position:absolute;
top:-1px;
left:148px;
}
ul#menu li{
position:relative;
margin:0px;
padding:0px;
_display:inline;
}
ul#menu a{
display:block;
width:100%;
color:#000000;
text-decoration:none
}
ul#menu a:hover{
background:#000000;
color:#FFFFFF;
}
p{
margin-left:170px;
}
</style>
<script type="text/javascript">
function hover(obj){
if(document.all){
UL = obj.getElementsByTagName('ul');
if(UL.length > 0){
sousMenu = UL[0].style;
if(sousMenu.display == 'none' || sousMenu.display == ''){
sousMenu.display = 'block';
}else{
sousMenu.display = 'none';
}
}
}
}
function setHover(){
LI = document.getElementById('menu').getElementsByTagName('li');
nLI = LI.length;
for(i=0; i < nLI; i++){
LI[i].onmouseover = function(){
hover(this);
}
LI[i].onmouseout = function(){
hover(this);
}
}
}
</script>
</head>
<body onload="setHover()">
<ul id="menu">
<li>
<a href="#">Articles</a>
<ul>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">PHP</a></li>
</ul>
</li>
<li>
<a href="#">Téléchargement</a>
<ul>
<li><a href="#">Logiciels</a></li>
<li><a href="#">Musique</a></li>
<li><a href="#">Films</a></li>
</ul>
</li>
</ul>
</body>
</html>
que j'ai trouvé sur le site http://www.ibilab.net/webdev/articles/CSS/creer-menus-cascade-simple-4.htm
mais je n'arrive pas à trouver où positionner le fameux
float:left;
pour que j'obtienne un menu horizontal...et j'ai essayé de comparer sur le site alsacreations les 2 scripts de menu horizontal et vertical qui sont proposés... en vain...
quelqu'un voit-il ce que je dois modifier pour adapter le code pour obtenir le menu horizontal?
merci à tous[/i][/i]
ul#menu li{
float: left;
position:relative;
margin:0px;
padding:0px;
display:inline;
}
ici à première vue ! et il faut retirer "_" devant "display", a mon avis, jen ne l'ai jaimais utilisé dans une CSS devant les déclarations de propriétés
Mais bon, là, ya des gens qui ici qui savent peut être si c'est utilisé, en tout cas je ne vois pas l'utilité et je pense que ça créé une erreur !
DarkNeo a écrit :
ici à première vue ! et il faut retirer "_" devant "display", a mon avis, jen ne l'ai jaimais utilisé dans une CSS devant les déclarations de propriétés![]()
Mais bon, là, ya des gens qui ici qui savent peut être si c'est utilisé, en tout cas je ne vois pas l'utilité et je pense que ça créé une erreur !
C'est un hack. Plus d'explications sur cette page:
http://wellstyled.com/css-underscore-hack.html (via Fastclemmy)
Et dans ce post:
http://forum.alsacreations.com/topic.php?fid=4&tid=453&p=1
Pour présenter une liste horizontalement, il me semble logique d'utiliser :
Si on utilise des float, il faut quand même savoir pourquoi :
http://css.maxdesign.com.au/floatutorial/
li {
display: inline;
}
Si on utilise des float, il faut quand même savoir pourquoi :
http://css.maxdesign.com.au/floatutorial/
malheureusement ça ne marche pas ...
est ce qu'il n'y a a pas dans ce code une partie de code css qui annule le fait de mettre le float;meft???
est ce qu'il n'y a a pas dans ce code une partie de code css qui annule le fait de mettre le float;meft???
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
ul#menu li ul{
display:none;
}
ul#menu li:hover>ul{
display:block;
}
ul#menu{
float:left;
}
ul#menu,
ul#menu ul{
background:#FFCCCC;
border:1px solid #990000;
list-style:none;
margin:0px;
padding:0px;
width:148px;
_width:150px;
}
ul#menu ul{
position:absolute;
top:-1px;
left:148px;
}
ul#menu li{
float:left;
position:relative;
margin:0px;
padding:0px;
_display:inline;
}
ul#menu a{
display:block;
width:100%;
color:#000000;
text-decoration:none
}
ul#menu a:hover{
background:#000000;
color:#FFFFFF;
}
p{
margin-left:170px;
}
</style>
<script type="text/javascript">
function hover(obj){
if(document.all){
UL = obj.getElementsByTagName('ul');
if(UL.length > 0){
sousMenu = UL[0].style;
if(sousMenu.display == 'none' || sousMenu.display == ''){
sousMenu.display = 'block';
}else{
sousMenu.display = 'none';
}
}
}
}
function setHover(){
LI = document.getElementById('menu').getElementsByTagName('li');
nLI = LI.length;
for(i=0; i < nLI; i++){
LI[i].onmouseover = function(){
hover(this);
}
LI[i].onmouseout = function(){
hover(this);
}
}
}
</script>
</head>
<body onload="setHover()">
<ul id="menu">
<li><a href="#">Accueil</a></li>
<li><a href="#">Articles</a>
<ul>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">PHP</a></li>
</ul>
</li>
<li><a href="#">Téléchargement</a>
<ul>
<li><a href="#">Logiciels</a></li>
<li><a href="#">Musique</a></li>
<li><a href="#">Films</a></li>
</ul>
</li>
</ul>
</body>
</html>
[/i][/i]Stephan a écrit :
Pour présenter une liste horizontalement, il me semble logique d'utiliser :
li { display: inline; }
Si on utilise des float, il faut quand même savoir pourquoi :
http://css.maxdesign.com.au/floatutorial/
[ Édité par Stephan (liens problématiques en fin de citation) ]
Oui, mais alors là on ne peut plus mettre de dimensions aux listes ce qui peut être utile dans certains cas, non!
Modifié le 14 Dec 2004 - 20:29