Ik ben al aardig opweg met een menu in CSS maar nu moet ik eigenlijk een aantal sub knoppen hebben in het item Search. Ik hb reeds rond gekeken maar vindt alleen maar dropdown dingen. Nu is mijn kennis van CSS niet zo dat ik het toe kan passen. Mischien dat iemand hier mij verder kan helpen.
Het menu ziet er zo uit:

<div id="buttons">
	<ul>
		<li><a href="?id=">Home</a></li>
		<li><a href="?id=Add">Add Combination</a></li>
		<li><a href="?id=Edit">Edit Combination</a></li>
		<li><a href="?id=Lists">Create Lists</a></li>
		<li><a href="?id=Reports">Create Reports</a></li>
		<li><a href="?id=Search">Search</a></li>
		<li><a href="?id=Update">Update</a></li>
		<li><a href="?id=Admin">Admin</a></li>
		<li><a href="?id=Weblinks">Links</a></li>
	</ul>
</div> 


en dit is de CSS code:

/* definitions used in the menu */
#buttons {
	width: 14em;
	border-right: 1px solid #000;
	padding: 0 0 0.2em 0;
	margin-bottom: 1em;
	
	font-family: Geneva, Helvetica, Arial, Sans-Serif;
	font-size: 1em;
	background-color: #06d608;
	color: #333;
}
#buttons ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}
#buttons li {
	border-bottom: 1px solid #06d608;
	margin: 0;
}
#buttons li a {
	display: block;
	padding: 4px 4px 4px 0.5em;
	border-left: 10px solid #005242;
	border-right: 10px solid #ced610;
	background-color: #84ad31;
	color: #fff;
	text-decoration: none;
}
html>body #buttons li a {
	width: auto;
}
#buttons li a:hover{
	border-left: 10px solid #009933;
	border-right: 10px solid #cccc99;
	background-color: #66ff33;
	color: #fff
}
Misschien moet je even een afbeelding maken van wat je wilt. Voor mij is het niet duidelijk.
kijk hier

Achter de Search moet nog een menu keuze komen.

@SanThe: Waar doel je eigenlijk op?
@gharryh: dit kan je toch 't beste doen met een dropdown. Natuurlijk kan je 't er ook gewoon onderzetten, maar ik neem aan dat je 't wilt laten tonen door eerst te klikken. Dit kan je met javascript (Voor IE) en css doen door een hide div te gebruiken.
Turmin schreef op 07.11.2009 00:32
@SanThe: Waar doel je eigenlijk op?

Die respons was voor gharryh omdat ie vroeg hoe je een plaatje kon plaatsen. Maar hij had het inmiddels zelf al gevonden en de vraag verwijderd. Vandaar mijn, nu, loze antwoord.
@ TS: bedoel je zoiets:

http://www.jankoehoorn.nl/phphulp.php

Edit: die pagina verandert nogal vaak ;-) Hieronder de code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Untitled Document</title>
	
    <script type="text/javascript" src="mootools/mootools_core.js"></script>
    <script type="text/javascript" src="mootools/mootools_more.js"></script>
	<script type="text/javascript">
		window.addEvent ('domready', function () {
			var submenu = $('submenu');
			$('toggle').addEvent ('click', function () {
				if (submenu.getStyle ('display') == 'none') {
					submenu.setStyles ({display : 'block'});
				}
				else {
					submenu.setStyles ({display : 'none'});
				}
			});
		});
	</script>

	
	<style type="text/css" media="screen">
		ul#menu						{margin: 0; padding: 0; list-style: none;}
		ul#submenu					{display: none;}
		h3, li						{font: 12px Verdana, Arial, Helvetica, sans-serif;}
		h3							{cursor: pointer;}
	</style>
</head>

<body>
	<ul id="menu">
		<li><a href="">item 01</a></li>
		<li><a href="">item 02</a></li>
		<li><a href="">item 03</a></li>
		<li><a href="">item 04</a></li>
		<li>
			<h3 id="toggle">search</h3>
			<ul id="submenu">
			<li><a href="">subitem 01</a></li>
			<li><a href="">subitem 02</a></li>
			<li><a href="">subitem 03</a></li>
			</ul>
		</li>
		<li><a href="">item 01</a></li>
		<li><a href="">item 01</a></li>
	</ul>
</body>
</html>
@Jan
Ik wilde eigenlijk geen JS toepassen.

@Turmin
Bij het verder zoeken gisteravond met jouw idee heb ik e.e.a. aangepast naar wat ik hieronder plaats. Het enige probleem is nu dat het submenu netjes naast het menu komt te staan maar dan helemaal bovenaan terwijl ik dat er direct naast moet hebben.

<html><head>
<title>Flyout menu test</title>
<style type="text/css">
body {
	font-size: 0.69em;
}
/* Bepaal groote van het menu */
.menu {
	width: 14em;
	border-right: 1px solid #000;
	padding: 0 0 0.2em 0;
	marging-bottom: 1em;
	font-size: 1em;
	background-color: #06d608;
	color: #333;
}
/* De plaats van het menu binnen de div */
.menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: none
}
/* De basisplaats van het submenu */
.menu ul ul {
	visibility: hidden;
	position: absolute;
	height: 0;
	left: 14em;
	top: 0;
	width: 14em;
}
/* Dit lijntje vormt de scheiding tussen de knoppen */
.menu li {
	border-bottom: 1px solid #06d608;
	margin: 0
}
/* Bepaal de looks van het menu */
.menu li a {
	display: block;
	padding: 4px 4px 4px 0.5em;
	border-left: 10px solid #005242;
	border-right: 10px solid #ced610;
	background-color: #84ad31;
	color: #fff;
	text-decoration: none;
}
/* Gevonden hack voor IE5.5 */
html>body .menu li a {
	width: auto;
}
/* Opmaak van het submenu tabel voor gebruik in IE */
.menu table {
	position: absolute;
	top: 0;
	left: 0;
}
.menu li a:hover {
	border-left: 10px solid #009933;
	border-right: 10px solid #cccc99;
	background-color: #66ff33;
	color: #fff;
}
.menu ul li:hover ul,
.menu ul a:hover ul {
	visibility: visible;
}
</style>
</head><body>

<div class="menu" >
	<ul>
	<li><a href="#" title="Home">Home</a></li>
	<li><a href="#" title="Add Combination">Add Combination</a></li>
	<li><a href="#" title="Edit Combination">Edit Combination</a></li>
	<li><a href="#" title="Create List">Create List</a></li>
	<li><a href="#" title="Create Report">Create Report</a></li>
	<li><a class="drop" href="#" title="Search">Search<!--[if IE 7]><!--></a><!--<![endif]-->
	<!--[if lte IE 6]><table><tr><td><![endif]-->
		<ul>
			<li><a href="#" title="Horses">Horses</a></li>
			<li><a href="#l" title="Riders">Riders</a></li>
		</ul>
	<!--[if lte IE 6]></td></tr></table></a><![endif]-->
	</li>
	<li><a href="#" title="Update">Update</a></li>
	<li><a href="#" title="Admin">Admin</a></li>
	<li><a href="#" title="Links">Links</a></li>
	</ul>
</div>
</body></html>

---- edit ----

Heb het gedeelte dat het menu laat zien zo aangepast dat het submenu naar beneden schuift.
/* Laat het submenu zien */
.menu ul li:hover ul,
.menu ul a:hover ul {
	visibility: visible;
	position: absolut;
	top: 98px;
}

Als er een button boven bij wordt geplaatst zal de waarde van 98px aangpast moeten worden.
gharryh schreef op 07.11.2009 12:13
@Jan
Ik wilde eigenlijk geen JS toepassen.


Zou je dat de volgende keer in je eerste post willen vermelden? Dan ga ik niet voor niets een voorbeeld voor je maken.

Helemaal zonder JS gaat het niet lukken. IE6 ondersteunt namelijk niet de pseudo class :hover op andere elementen dan de <a> tag. Daar zijn wel oplossingen voor, maar voorzover mij bekend steunen die allemaal op JavaScript.
Beste Jan, wat ik met de opmerking eigenlijk bedoelde dat ik met CSS verder wilde om te voorkomen dat bij een wijziging er iets op twee plaatsen aangepast moet worde.
Wat dat betreft is er geen verschill tussen CSS en JavaScript. Beiden kun je in een extern bestand plaatsen en in de <head> sectie aan je pagina's koppelen.

Reageren