Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669

    Menu a tendina con css SENZA JavaScript

    So che quello che sto postando, per definizione, non ha a che fare con JavaScript: anzi lo evita. Però siccome le richieste di menu a tendina non si contano e si riversano tutte in questa sezione, sappiate che si può fare un bel menu a tendina senza sfiorare JavaScript. Quello che sto postando è solo un possibile esempio crossbrowser, che nella fattispecie consente di arrivare fino a 6 livelli di sotto-menu (e nell'esempio li ho sfruttati tutti). I colori e gli stili sono scelti un po' a caso, ma quello che conta è il funzionamento. Personalizzare lo stile sarà cosa molto semplice per chiunque. Fatene buon uso.

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>CSS drop-down menu</title>
    <style type="text/css">
    div.dropdown-menu {
    	height: 30px;
    	width: 90%;
    	position: relative;
    	left: 0;
    	top: 0;
    	margin: 0;
    	padding: 0;
    	background-color: #fffabf;
    }
     
    /* horizontal menu */
    
    div.dropdown-menu ul {
    	margin: 0;
    	padding: 0;
    	position: absolute;
    	left: 0;
    	top: 0;
    	height: 30px;
    	width: 100%;
    	list-style-type: none;
    	overflow: visible;
    }
    
    div.dropdown-menu ul li {
    	display: block;
    	float: left;
    	background-color: black;
    	/* menu header's items width and height */
    	width: 120px;
    	height: 30px;
    }
    
    div.dropdown-menu ul li span, div.dropdown-menu ul li a, div.dropdown-menu ul li a:link,
    div.dropdown-menu ul li a:visited, div.dropdown-menu ul li a:active {
    	font-family: Times New Roman;
    	font-size: 16px;
    	font-style: italic;
    	text-decoration: none;
    	color: black;
    	background-color: #fffabf;
    }
    
    div.dropdown-menu ul li span, div.dropdown-menu ul li a {
    	display: block;
    	height: 30px;
    	width: 89%;
    	line-height: 30px;
    	padding: 0 0 0 10%;
    	cursor: pointer;
    }
    
    /* vertical sub-menus */
    
    div.dropdown-menu ul li ul {
    	float: none;
    	position: static;
    	/* dropdown-menu width */
    	width: 152px;
    	display: none;
    	height: auto;
    }
    
    div.dropdown-menu ul li ul li {
    	display: block;
    	height: 28px;
    	width: 100%;
    	background-color: transparent;
    }
    
    div.dropdown-menu ul li ul li span, div.dropdown-menu ul li ul li a {
    	display: block;
    	/* dropdown-menu items width and horizontal-padding (total must be 152px - see above) */
    	width: 144px;
    	padding: 0 0 0 8px;
    	height: 27px;
    	float: left;
    	line-height: 27px;
    	margin-top: 1px;
    	border-radius: 10px;
    }
    
    div.dropdown-menu ul li:hover ul li span, div.dropdown-menu ul li:hover ul li a,
    div.dropdown-menu ul li:hover ul li a:link, div.dropdown-menu ul li:hover ul li a:visited,
    div.dropdown-menu ul li:hover ul li a:active {
    	background-color: #dddddd;
    	color: #000000;
    	font-family: georgia, serif;
    	font-size: 11px;
    	font-style: normal;
    	font-weight: normal;
    }
    
    /* mouse-over effects: up to 6 sub-levels (you can add more sub-levels, if you want) */
    
    div.dropdown-menu ul li:hover ul li:hover {
    	width: 201%;
    }
    
    div.dropdown-menu ul li:hover span, div.dropdown-menu ul li:hover a {
    	color: #000044;
    	background-color: #eeeabe;
    }
    
    div.dropdown-menu ul li:hover ul li:hover span,
    div.dropdown-menu ul li:hover ul li:hover a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a {
    	background-color: yellow;
    	color: blue;
    }
    
    
    div.dropdown-menu ul li:hover ul li:hover ul li span,
    div.dropdown-menu ul li:hover ul li:hover ul li a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li a,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li a {
    	background-color: #dddddd;
    	color: #000000;
    }
    
    div.dropdown-menu ul li:hover ul li ul, div.dropdown-menu ul li:hover ul li:hover ul li ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li ul {
    	display: none;
    	float: right;
    	padding-top: 0;
    }
    
    div.dropdown-menu ul li:hover ul, div.dropdown-menu ul li:hover ul li:hover ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul,
    div.dropdown-menu ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
    	display: block;
    }
    
    span.menu-nav:after, a.menu-nav:after {
    	content: "-";
    	float: right;
    	margin-right: 8px;
    }
    
    </style>
    </head>
    
    <body>
    <h1>CSS drop-down menu</h1>
    
    <div class="dropdown-menu">
      <ul>[*]
          Home
        [*]
          JavaScript
          <ul>[*]
              Link
            [*]
              Submenu
              <ul>[*]
                  Submenu
                  <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]                
                      Submenu
                      <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]
                          Submenu
                          <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]
                              Submenu
                              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[/list]
                            [*]Link[*]Link[*]Link[/list]
                        [/list]
                    [*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[*]Link[*]Link[/list]
                [*]Link[*]<span onclick="alert('!');">JavaScript function</span>[/list]
            [/list]
        [*]
          CSS
          <ul>[*]
              Submenu
              <ul>[*]Link[*]Link[*]Link[/list]
            [*]
              <span onclick="alert('!');">JavaScript function</span>
            [*]
              Submenu
              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[/list]
            [*]
              Link
            [*]
              Link
            [/list]
        [*]
          <span>Documents</span>
          <ul>[*]
              Submenu
              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[*]Link[*]Link[/list]
            [*]
              Submenu
              <ul>[*]Link[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[/list]
            [*]
              Link
            [/list]
        [*]
          <span>About Us</span>
          <ul>[*]
              <span onclick="alert('!');">JavaScript function</span>
            [/list]
        [/list]
    </div>
    
    
    
    [ Page content here ]</p>
    
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Piccola ritoccatina allo stile...

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>CSS drop-down menu</title>
    <style type="text/css">
    div.menu-bar {
    	position: relative;
    	left: 0;
    	top: 0;
    	/* menu header width and height */
    	height: 30px;
    	width: 90%;
    	margin: 0;
    	padding: 0;
    	background-color: #fffabf;
    }
     
    /* horizontal menu */
    
    div.menu-bar ul {
    	position: absolute;
    	margin: 0;
    	padding: 0;
    	left: 0;
    	top: 0;
    	height: 100%;
    	width: 100%;
    	list-style-type: none;
    	overflow: visible;
    }
    
    div.menu-bar ul li {
    	display: block;
    	float: left;
    	background-color: #5d5636;
    	height: 100%;
    	/* menu header's items width */
    	width: 120px;
    }
    
    div.menu-bar ul li span, div.menu-bar ul li a {
    	display: block;
    	height: 100%;
    	width: 89%;
    	line-height: 30px;
    	padding: 0 0 0 10%;
    	cursor: pointer;
    }
    
    div.menu-bar ul li span, div.menu-bar ul li a, div.menu-bar ul li a:link,
    div.menu-bar ul li a:visited, div.menu-bar ul li a:active {
    	font-family: Times New Roman;
    	font-size: 17px;
    	font-style: italic;
    	text-decoration: none;
    	background-color: #fffabf;
    	color: #5d5636;
    }
    
    /* vertical sub-menus */
    
    div.menu-bar ul li ul {
    	float: none;
    	position: static;
    	height: auto;
    	/* vertical-menus width */
    	width: 160px;
    }
    
    div.menu-bar ul li ul li {
    	display: block;
    	height: 28px;
    	width: 100%;
    	background-color: transparent;
    	float: none;
    }
    
    div.menu-bar ul li:hover ul li span, div.menu-bar ul li:hover ul li a,
    div.menu-bar ul li ul li a:link, div.menu-bar ul li ul li a:visited,
    div.menu-bar ul li ul li a:active {
    	display: block;
    	/* menu-bar items width and horizontal-padding (total must be 160px in this example - see above) */
    	width: 152px;
    	padding: 0 0 0 8px;
    	height: 27px;
    	float: left;
    	line-height: 27px;
    	margin-top: 1px;
    	background-color: #dddddd;
    	color: #000000;
    	font-family: georgia, serif;
    	font-size: 11px;
    	font-style: normal;
    	font-weight: normal;
    	border-radius: 10px;
    }
    
    /* vertical sub-sub-menus */
    
    div.menu-bar ul li:hover ul li ul {
    	float: right;
    	padding-top: 2px;
    }
    
    /* mouse-over effects: up to 6 sub-levels (you can add more sub-levels, if you want) */
    
    div.menu-bar ul li:hover ul li:hover {
    	width: 201%;
    }
    
    div.menu-bar ul li:hover span, div.menu-bar ul li:hover a {
    	color: #220000;
    	background-color: #eeeabe;
    }
    
    div.menu-bar ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a {
    	background-color: #cccccc;
    	color: #000000;
    }
    
    
    div.menu-bar ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li a {
    	background-color: #dddddd;
    	color: #222222;
    }
    
    div.menu-bar ul li ul, div.menu-bar ul li:hover ul li ul, div.menu-bar ul li:hover ul li:hover ul li ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li ul {
    	display: none;
    }
    
    div.menu-bar ul li:hover ul, div.menu-bar ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
    	display: block;
    }
    
    span.menu-nav:after, a.menu-nav:after {
    	content: "\00BB";
    	float: right;
    	margin-right: 8px;
    }
    
    </style>
    </head>
    
    <body>
    <h1>CSS drop-down menu</h1>
    
    <div class="menu-bar">
      <ul>[*]
          Home
        [*]
          JavaScript
          <ul>[*]
              Link
            [*]
              Submenu
              <ul>[*]
                  Submenu
                  <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]                
                      Submenu
                      <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]
                          Submenu
                          <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]
                              Submenu
                              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[/list]
                            [*]Link[*]Link[*]Link[/list]
                        [/list]
                    [*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[*]Link[*]Link[/list]
                [*]Link[*]<span onclick="alert('!');">JavaScript function</span>[/list]
            [/list]
        [*]
          CSS
          <ul>[*]
              Submenu
              <ul>[*]Link[*]Link[*]Link[/list]
            [*]
              <span onclick="alert('!');">JavaScript function</span>
            [*]
              Submenu
              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[/list]
            [*]
              Link
            [*]
              Link
            [/list]
        [*]
          <span>Documents</span>
          <ul>[*]
              Submenu
              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[*]Link[*]Link[/list]
            [*]
              Submenu
              <ul>[*]Link[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[/list]
            [*]
              Link
            [/list]
        [*]
          <span>About Us</span>
          <ul>[*]
              <span onclick="alert('!');">JavaScript function</span>
            [/list]
        [/list]
    </div>
    
    
    
    [ Page content here ]</p>
    
    </body>
    </html>

  3. #3
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    L'ho provato con IE8 e funge (a parte i bordi arrotondati che non sono supportati da quel browser). Qualcuno lo potrebbe provare con IE7 o IE6? Solo per curiosità...

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Altra possibilità con i menu parzialmente sovrapposti...

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>CSS drop-down menu</title>
    <style type="text/css">
    div.menu-bar {
    	position: relative;
    	left: 0;
    	top: 0;
    	/* menu header width and height */
    	height: 30px;
    	width: 90%;
    	margin: 0;
    	padding: 0;
    }
     
    /* horizontal menu */
    
    div.menu-bar ul {
    	margin: 0;
    	padding: 0;
    	position: absolute;
    	left: 0;
    	top: 0;
    	height: 100%;
    	width: 100%;
    	list-style-type: none;
    	background-color: #fffabf;
    	overflow: visible;
    }
    
    div.menu-bar ul li {
    	display: block;
    	float: left;
    	height: 100%;
    	/* menu header's items width */
    	width: 119px;
    	border-right: 1px #5d5636 solid;
    }
    
    div.menu-bar ul li span, div.menu-bar ul li a {
    	display: block;
    	height: 100%;
    	width: 90%;
    	line-height: 30px;
    	padding: 0 0 0 10%;
    	cursor: pointer;
    }
    
    div.menu-bar ul li span, div.menu-bar ul li a, div.menu-bar ul li a:link,
    div.menu-bar ul li a:visited, div.menu-bar ul li a:active {
    	font-family: Times New Roman;
    	font-size: 17px;
    	font-style: italic;
    	text-decoration: none;
    	background-color: #fffabf;
    	color: #5d5636;
    }
    
    /* vertical sub-menus */
    
    div.menu-bar ul li ul {
    	position: static;
    	height: auto;
    	/* vertical-menus width */
    	width: 160px;
    	border: 1px #666666 solid;
    	background-color: #dddddd;
    }
    
    div.menu-bar ul li ul li {
    	position: relative;
    	left: 0;
    	top: 0;
    	display: block;
    	height: 28px;
    	width: 100%;
    	background-color: transparent;
    	border: none;
    	float: none;
    }
    
    div.menu-bar ul li:hover ul li span, div.menu-bar ul li:hover ul li a,
    div.menu-bar ul li ul li a:link, div.menu-bar ul li ul li a:visited,
    div.menu-bar ul li ul li a:active {
    	display: block;
    	height: 100%;
    	width: 96%;
    	padding: 0 0 0 4%;
    	line-height: 28px;
    	background-color: transparent;
    	color: #000000;
    	font-family: georgia, serif;
    	font-size: 11px;
    	font-style: normal;
    	font-weight: normal;
    }
    
    /* vertical sub-sub-menus */
    
    div.menu-bar ul li:hover ul li ul {
    	/* sub-sub-menu position is relative to its parent */
    	position: absolute;
    	top: 6px;
    	left: 156px;
    }
    
    /* mouse-over effects: up to 6 sub-levels (you can add more sub-levels, if you want) */
    
    div.menu-bar ul li:hover span, div.menu-bar ul li:hover a {
    	color: #220000;
    	background-color: #eeeabe;
    }
    
    div.menu-bar ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover a {
    	background-color: #cccccc;
    	color: #000000;
    }
    
    
    div.menu-bar ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li a,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li span,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li a {
    	background-color: transparent;
    	color: #222222;
    }
    
    div.menu-bar ul li ul, div.menu-bar ul li:hover ul li ul, div.menu-bar ul li:hover ul li:hover ul li ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li ul {
    	display: none;
    }
    
    div.menu-bar ul li:hover ul, div.menu-bar ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul,
    div.menu-bar ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
    	display: block;
    }
    
    /* an arrow on the right side of menu's folders */
    
    span.menu-nav:after, a.menu-nav:after {
    	content: "\00BB";
    	float: right;
    	margin-right: 8px;
    }
    
    </style>
    </head>
    
    <body>
    <h1>CSS drop-down menu</h1>
    
    <div class="menu-bar">
      <ul>[*]
          Home
        [*]
          JavaScript
          <ul>[*]
              Link
            [*]
              Submenu
              <ul>[*]
                  Submenu
                  <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]                
                      Submenu
                      <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]
                          Submenu
                          <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]
                              Submenu
                              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[/list]
                            [*]Link[*]Link[*]Link[/list]
                        [/list]
                    [*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[*]Link[*]Link[/list]
                [*]Link[*]<span onclick="alert('!');">JavaScript function</span>[/list]
            [/list]
        [*]
          CSS
          <ul>[*]
              Submenu
              <ul>[*]Link[*]Link[*]Link[/list]
            [*]
              <span onclick="alert('!');">JavaScript function</span>
            [*]
              Submenu
              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[/list]
            [*]
              Link
            [*]
              Link
            [/list]
        [*]
          <span>Documents</span>
          <ul>[*]
              Submenu
              <ul>[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[*]Link[*]Link[*]Link[*]Link[/list]
            [*]
              Submenu
              <ul>[*]Link[*]Link[*]<span onclick="alert('!');">JavaScript function</span>[/list]
            [*]
              Link
            [/list]
        [*]
          <span>About Us</span>
          <ul>[*]
              <span onclick="alert('!');">JavaScript function</span>
            [/list]
        [/list]
    </div>
    
    
    
    [ Page content here ]</p>
    
    </body>
    </html>

  5. #5
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Ormai questo thread è un monologo...
    Ho risolto il problema dei livelli. Adesso è consentito annidare INFINITI sottomenu. Posto il nuovo CSS (l'HTML dell'esempio resta lo stesso).

    codice:
    <style type="text/css">
    div.menu-bar {
    	position: relative;
    	margin: 0;
    	padding: 0;
    	/* menu header width and height */
    	height: 30px;
    	width: 90%;
    }
     
    /* horizontal menu */
    
    div.menu-bar ul {
    	margin: 0;
    	padding: 0;
    	position: absolute;
    	height: 100%;
    	width: 100%;
    	list-style-type: none;
    	background-color: #fffabf;
    	overflow: visible;
    }
    
    div.menu-bar ul li {
    	display: block;
    	float: left;
    	height: 100%;
    	/* menu header's items width */
    	width: 119px;
    	border-right: 1px #5d5636 solid;
    }
    
    div.menu-bar li > span, div.menu-bar li > a, div.menu-bar li > a:link,
    div.menu-bar li > a:visited, div.menu-bar li > a:active {
    	display: block;
    	padding: 0 0 0 10%;
    	width: 90%;
    	height: 100%;
    	line-height: 30px;
    	font-family: times, serif;
    	font-size: 17px;
    	font-style: italic;
    	text-decoration: none;
    	background-color: #fffabf;
    	color: #5d5636;
    	cursor: pointer;
    }
    
    div.menu-bar li:hover > span, div.menu-bar li:hover > a {
    	color: #220000;
    	background-color: #eeeabe;
    }
    
    /* vertical sub-menus */
    
    div.menu-bar ul ul {
    	display: none;
    	position: static;
    	height: auto;
    	/* vertical-menus width */
    	width: 160px;
    	border: 1px #666666 solid;
    	background-color: #dddddd;
    }
    
    div.menu-bar li:hover > ul {
    	display: block;
    }
    
    div.menu-bar ul ul li {
    	position: relative;
    	float: none;
    	display: block;
    	height: 28px;
    	width: 100%;
    	background-color: transparent;
    	border: none;
    }
    
    div.menu-bar ul ul li span, div.menu-bar ul ul li a,
    div.menu-bar ul ul li a:link, div.menu-bar ul ul li a:visited,
    div.menu-bar ul ul li a:active {
    	height: 100%;
    	width: 96%;
    	padding: 0 0 0 4%;
    	line-height: 28px;
    	background-color: transparent;
    	color: #000000;
    	font-family: georgia, serif;
    	font-size: 11px;
    	font-style: normal;
    }
    
    div.menu-bar ul ul li:hover > span, div.menu-bar ul ul li:hover > a {
    	background-color: #cccccc;
    	color: #000000;
    }
    
    /* vertical sub-sub-menus */
    
    div.menu-bar ul ul ul {
    	/* sub-sub-menu position is relative to its parent */
    	position: absolute;
    	top: 4px;
    	left: 155px;
    }
    
    /* an arrow on the right side of menu's folders */
    
    span.menu-nav:after, a.menu-nav:after {
    	content: "\00BB";
    	float: right;
    	margin-right: 8px;
    }
    </style>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.