roku

   
  Katalog gier - strona prywatna
  sadasd
 

Menu rozwijane, otwierane, wysuwane

Wygląd

Jeżeli nie odpowiada nam podstawowy wygląd menu, można go zmienić wykorzystując polecenia CSS. W tym celu w pliku menu.css należy wkleić np.:

Zaznacz kod

#menu0 {
	width: 200px;
	margin: 10px;
	padding: 0;
}


#menu0 dt {
	background-color: #888;
	color: #fff;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	margin: 10px 0 0 0;
	padding: 2px;
}


#menu0 dd {
	background-color: #eee;
	color: #000;
	border-width: 0 1px 1px 1px;
	border-style: solid;
	border-color: #888;
	margin: 0;
	padding: 1px 5px;
}


#menu0 dd.active {
	font-weight: bold;
}

W wyróżnionych miejscach wpisano zdefiniowany uprzednio identyfikator menu. Teraz w nagłówku dokumentu (X)HTML (<head>...</head>), na którym wstawione jest menu, wystarczy wstawić odwołanie do utworzonego właśnie zewnętrznego arkusza stylów:

Zaznacz kod

<link rel="Stylesheet" type="text/css" href="menu.css" />

Przykład:


Aby uzyskać następujące wielopoziomowe menu otwierane, imitujące tradycyjne menu aplikacji:



należy użyć kodu XHTML:

Zaznacz kod

<dl id="menu0">
<dt>Kurs</dt>
<dd>
	<dl>
	<dt><a href="...">HTML</a></dt>

	<dd>
		<dl>
		<dt><a href="...">Dla zielonych</a></dt>

		<dd><a href="...">...</a></dd>
		<dd><a href="...">...</a></dd>

		</dl>
	</dd>
	<dd>
		<dl>
		<dt><a href="...">BODY i META</a></dt>

		<dd><a href="...">...</a></dd>
		<dd><a href="...">...</a></dd>

		</dl>
	</dd>
	<dd>
		<dl>
		<dt><a href="...">Tekst</a></dt>

		<dd><a href="...">...</a></dd>
		<dd><a href="...">...</a></dd>

		</dl>
	</dd>
	</dl>
</dd>
<dd>

	<dl>
	<dt><a href="...">CSS</a></dt>
	<dd><a href="...">...</a></dd>

	<dd><a href="...">...</a></dd>
	</dl>
</dd>

</dl>
<script type="text/javascript">
// <![CDATA[
new Menu('menu0', 'menu0', true, false, 0, 0, -1, -1, true);
// ]]>
</script>

oraz dołączyć następujący arkusz CSS:

Zaznacz kod

.menu0, .menu0 dl {
	font-size: 12px;
	position: absolute;
	width: 150px;
	margin: 0;
	padding: 0;
	border-width: 1px;
	border-style: solid;
	border-color: #eee #aaa #aaa #eee;
}

.menu0 dt {
	cursor: pointer;
	margin: 0;
	padding: 0;
	background-color: #888;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	border-width: 1px;
	border-style: solid;
	border-color: #aaa #666 #666 #aaa;
	padding: 4px 5px;
}

.menu0 dl dt {
	background-color: #ccc;
	color: #000;
	text-align: left;
	font-weight: normal;
	font-size: 12px;
	border: 0;
	padding: 0;
}

.menu0 dd  {
	background-color: #ccc;
	color: #000;
	margin: 0;
	padding: 0;
	width: 150px;
	height: 22px;
}

.menu0 dd.active {
	font-weight: bold;
}

.menu0 dt a {
	background: url("submenu.gif") no-repeat 140px 8px;
	padding-right: 20px;
}

.menu0 a:link, .menu0 a:visited {
	display: block;
	color: #000;
	text-decoration: none;
	padding: 4px 5px;
}

.menu0 a:hover {
	color: #fff;
	background-color: #008;
}

.menu0 dl {
	position: absolute;
	border: 0;
}

.menu0 dl dd {
	position: relative;
	left: 151px;
	bottom: 22px;
	border-left: 1px solid #eee;
	border-right: 1px solid #aaa;
}

Aby ustawić kolejne menu otwierane obok siebie, należy wstawić kilka osobnych bloków <dl>...</dl>, a następnie wypozycjonować je w odpowiednim miejscu względem siebie:



Kod XHTML:

Zaznacz kod

<div class="menu">
	<dl id="menu1">
	<dt>HTML</dt>

	<dd><a href="...">...</a></dd>
	<dd><a href="...">...</a></dd>

	</dl>
	<script type="text/javascript">
	// <![CDATA[
	new Menu('menu1', 'position: absolute', true, true, -1, -1, -1, -1, true);
	// ]]>
	</script>

	
	<dl id="menu2">
	<dt>CSS</dt>
	<dd><a href="...">...</a></dd>

	<dd><a href="...">...</a></dd>
	</dl>
	<script type="text/javascript">

	// <![CDATA[
	new Menu('menu2', 'position: absolute; left: 150px', true, true, -1, -1, -1, -1, true);
	// ]]>
	</script>
	
	<dl id="menu3">
	<dt>Skrypty</dt>

	<dd><a href="...">...</a></dd>
	<dd><a href="...">...</a></dd>

	</dl>
	<script type="text/javascript">
	// <![CDATA[
	new Menu('menu3', 'position: absolute; left: 300px', true, true, -1, -1, -1, -1, true);
	// ]]>
	</script>

</div>

Arkusz CSS:

Zaznacz kod

.menu {
	position: relative;
}

.menu dl {
	width: 150px;
	margin: 0;
	padding: 0;
	border-width: 1px;
	border-style: solid;
	border-color: #aaa #666 #666 #aaa;
}

.menu dt {
	margin: 0;
	padding: 2px 5px;
	cursor: pointer;
	background-color: #888;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.menu dd {
	margin: 0;
	padding: 2px 5px;
	background-color: #ccc;
	color: #000;
}

Aby połączyć dwa ostatnie przykłady, wystarczy wstawić wszystkie menu w jednym wspólnym bloku, który musi mieć nadaną pozycję relatywną, a kolejne menu powinny być osadzane następująco:

Zaznacz kod

<div class="menu">
	<dl id="menu0">...</dl>

	<script type="text/javascript">
	// <![CDATA[
	new Menu('menu0', 'menu0', true, false, 0, 0, -1, -1, true);
	// ]]>
	</script>

	
	<dl id="menu1">...</dl>
	<script type="text/javascript">
	// <![CDATA[
	new Menu('menu1', 'menu0', true, false, 0, 0, -1, -1, true);
	// ]]>

	</script>
	
	<dl id="menu2">...</dl>
	<script type="text/javascript">

	// <![CDATA[
	new Menu('menu2', 'menu0', true, false, 0, 0, -1, -1, true);
	// ]]>
	</script>
</div>

Arkusz stylów będzie taki sam, jak w przykładzie wielopoziomowego menu otwieranego (przedostatni powyżej), z niewielkim dodatkiem:

Zaznacz kod

.menu {
	position: relative;
}

#menu1 {
	left: 150px;
}

#menu2 {
	left: 300px;
}

Dotacje

Pomogła Ci ta strona? Chcesz, aby dalej się rozwijała?
Dotpay - Bezpieczne transakcje internetowePayPalWpłać dobrowolną dotację...

 
   
 
Ta strona internetowa została utworzona bezpłatnie pod adresem Stronygratis.pl. Czy chcesz też mieć własną stronę internetową?
Darmowa rejestracja