Kétsoros menü készítése
Kétsoros menüt szeretnék készíteni, HTML+CSS használatával.
Felső sorban a főmenüpontok, alsó sorban az almenüpontok találhatóak. Az alsó sorban az adott főmenühöz tartozó almenüpontok jelennek meg.
Ehhez szeretnék segítséget kérni.
Eddig jutottam:
Azt nem értem, miért nem kerülnek egymás mellé az almenüpontok, pedig elvileg megadtam. Mit rontottam el?
■ Felső sorban a főmenüpontok, alsó sorban az almenüpontok találhatóak. Az alsó sorban az adott főmenühöz tartozó almenüpontok jelennek meg.
Ehhez szeretnék segítséget kérni.
Eddig jutottam:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#nav li {float:left;position:relative;margin-right: 20px;}
#nav ul {position:absolute;left: -40px;top:1em;}
.almenu li {float:left;}
.almenu li a{color:#0C0;}
</style>
</head>
<body>
<ul id="nav">
<li><a href="#">Főmenü</a>
<ul class="almenu">
<li><a href="#">Almenü1</a></li>
<li><a href="#">Almenü2</a></li>
<li><a href="#">Almenü3</a></li>
</ul>
</li>
<li><a href="#">Főmenü2</a>
<ul class="almenu">
<li><a href="#">Almenü4</a></li>
<li><a href="#">Almenü5</a></li>
</ul>
</li>
</ul>
</body>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#nav li {float:left;position:relative;margin-right: 20px;}
#nav ul {position:absolute;left: -40px;top:1em;}
.almenu li {float:left;}
.almenu li a{color:#0C0;}
</style>
</head>
<body>
<ul id="nav">
<li><a href="#">Főmenü</a>
<ul class="almenu">
<li><a href="#">Almenü1</a></li>
<li><a href="#">Almenü2</a></li>
<li><a href="#">Almenü3</a></li>
</ul>
</li>
<li><a href="#">Főmenü2</a>
<ul class="almenu">
<li><a href="#">Almenü4</a></li>
<li><a href="#">Almenü5</a></li>
</ul>
</li>
</ul>
</body>
Azt nem értem, miért nem kerülnek egymás mellé az almenüpontok, pedig elvileg megadtam. Mit rontottam el?
Azt javaslom, hogy Firefoxban
absolute
absolute
pozicionálás miatt a doboz olyan keskeny lesz, amilyen keskeny tud lenni, mivel nem adtál meg eleve szélességet. Tedd meg, hogy például megadsz neki szélességet, vagy az li elemeketinline
-ra változtatod, és a.almenu
-t pedignowrap
-ra. Az absolute pozicionálással természetesen még az is együtt jár, hogy az almenük ebben az esetben fedni fogják egymást.Erre számítottam
Most mindkét főmenühöz tartozó almenük megjelennek. Én viszont azt szeretném, hogy csak az aktív főmenü almenüje-i jelenjenek meg. Ez CSS-el megvalósítható?
aktív
Ha jól értem...
#nav li {float:left;position:relative;margin-right: 20px;}
#nav ul {position:absolute;left: -40px;top:1em;width:600px;}
#nav .active .almenu { display: block;}
.almenu li {float:left;display: none;}
.almenu li a{color:#0C0;}
.active {display: block;}
</style>
<title>Főmenü 1</title>
</head>
<body>
<ul id="nav">
<li><a class="active" href="Fomenu1.html">Főmenü</a>
<ul class="almenu">
<li><a href="#">Almenü1</a></li>
<li><a href="#">Almenü2</a></li>
<li><a href="#">Almenü3</a></li>
</ul>
</li>
<li><a href="Fomenu2.html">Főmenü2</a>
<ul class="almenu">
<li><a href="#">Almenü4</a></li>
<li><a href="#">Almenü5</a></li>
</ul>
</li>
</ul>
</body>
Most egyik almenü sem látszik.
Nem jól érted
Köszönöm!
Rendesen műxik.