In this tutorial you can learn how to create double level menus with CSS (horizontal, and vertical).
Double level menu means that the menu list contains another list with other links (a second Menu, or Sub-Menu).
Generally, the Menus are created with <ul> (or <ol>) and <li> tags.
- Assuming that you already know some CSS and HTML, apply /adapt the codes presented below, customizing them with more CSS elements to create the design you want (like rounded corners, background images, etc).
<style> #menuv { width:200px; border:1px solid blue; background-color:#daedfe; padding:2px; } /* Properties for first level vertical menu */ #menuv li { margin:1px 0; background-color:#f0f1fe; padding:1px; list-style-type:none; font-weight:600; text-align:left; } #menuv li a { display:block; margin:0; font-weight:normal; } #menuv li a:hover { background-color:#fefefe; text-decoration:none; font-style:oblique; } /* Properties for seccond level vertical menu */ #menuv li:hover ul { display:block; } #menuv li ul { display:none; position:relative; margin:-1px 0 -2px 0; padding:1px 0; } #menuv li ul li { margin:2px 0 0 20px; background-color:#edfeed; padding:1px 0; border:1px dotted yellow; } </style> <h4>Example Double level Vertical Menu</h4> <p>Move the mouse cursor over the following menu.</p> <ul id='menuv'> <li><a href='/' title='Home'>Home</a></li> <li> + CSS Tutorials <ul> <li><a href='https://coursesweb.net/css/css3-new-background-properties_t' title='Border properties'>CSS3 Border properties</a></li> <li><a href='https://coursesweb.net/css/css3-opacity_t' title='opacity'>CSS3 opacity</a></li> </ul> </li> <li> + HTML Tutorials <ul> <li><a href='https://coursesweb.net/html/html5-quick-tutorial_t' title='HTML5 Quick Tutorial'>HTML5 Quick Tutorial</a></li> <li><a href='https://coursesweb.net/html/html5-canvas_t' title='HTML5 canvas Tutorial'>HTML5 canvas Tutorial</a></li> <li><a href='https://coursesweb.net/html/html5-new-tags_t' title='HTML5 New Tags'>HTML5 New Tags</a></li> </ul> </li> <li><a href='https://coursesweb.net/contact' title='Contact'>Contact</a></li> </ul>
#menuv li:hover ul { display:block; }
<style> #menuv { position:relative; width:160px; border:1px solid blue; background-color:#daedfe; padding:2px; } /* Properties for first level vertical menu */ #menuv li { margin:1px 0; background-color:#f0f1fe; padding:1px; list-style-type:none; font-weight:600; text-align:left; } #menuv li a, #menuv li span { display:block; margin:0; font-weight:normal; } #menuv li a:hover { background-color:#fefefe; text-decoration:none; font-style:oblique; } /* Properties for seccond level vertical menu */ #menuv li:hover ul { display:block; } #menuv li ul { display:none; position:absolute; z-index:9998; width:100%; left:151px; margin:-20px auto 0 auto; background-color:#daedfe; border:1px dashed blue; padding:1px; } #menuv li ul li { margin:1px; background-color:#edfeed; padding:1px 0 1px 2px; } </style> <h4>Example 2 - double level vertical menu</h4> <p></p> <ul id='menuv'> <li><a href='/' title='Home'>Home</a></li> <li><span> + CSS Tutorials</span> <ul> <li><a href='https://coursesweb.net/css/css3-new-background-properties_t' title='Border properties'>CSS3 Border properties</a></li> <li><a href='https://coursesweb.net/css/css3-opacity_t' title='opacity'>CSS3 opacity</a></li> </ul> </li> <li><span> + HTML Tutorials</span> <ul> <li><a href='https://coursesweb.net/html/html5-quick-tutorial_t' title='HTML5 Quick Tutorial'>HTML5 Quick Tutorial</a></li> <li><a href='https://coursesweb.net/html/html5-canvas_t' title='HTML5 canvas Tutorial'>HTML5 canvas Tutorial</a></li> <li><a href='https://coursesweb.net/html/html5-new-tags_t' title='HTML5 New Tags'>HTML5 New Tags</a></li> </ul> </li> <li><a href='https://coursesweb.net/contact' title='Contact'>Contact</a></li> </ul>
display:none; position:absolute; z-index:9998;- In the CSS code of this Menu it is important that the #menu to have defined a 'position' (relative, absolute). This is necessary to make the z-index:9998; (in #menuv li ul) to work.
<style> #menuv { position:relative; padding:2px; } /* Properties for horizontal menu */ #menuv li { float:left; margin:1px 8px; border:1px solid blue; background-color:#daedfe; padding:1px 2px; list-style-type:none; font-weight:600; text-align:left; text-decoration:nderline; } /* Properties for vertical menu */ #menuv li:hover ul { display:block; } #menuv li ul { display:none; position:absolute; margin:1px auto 1px -8px; background-color:#f0f1fe; border:1px dashed blue; padding:1px; } #menuv li ul li { position:relative; clear:both; width:99%; margin:1px 0; border:none; background-color:#edfeed; padding:1px; } /* Links in sub-menu */ #menuv ul li a { display:block; margin:0; font-weight:normal; padding:1px; } #menuv ul li a:hover { background-color:#fefefe; text-decoration:none; font-style:oblique; } </style> <h4>Example Horizontal-Vertical Menu</h4> <p>Move the mouse cursor over Menu.</p> <ul id='menuv'> <li><a href='/' title='Home'>Home</a></li> <li>CSS Tutorials <ul> <li><a href='https://coursesweb.net/css/css3-new-background-properties_t' title='Border properties'>CSS3 Border properties</a></li> <li><a href='https://coursesweb.net/css/css3-opacity_t' title='opacity'>CSS3 opacity</a></li> </ul> </li> <li>HTML Tutorials <ul> <li><a href='https://coursesweb.net/html/html5-quick-tutorial_t' title='HTML5 Quick Tutorial'>HTML5 Quick Tutorial</a></li> <li><a href='https://coursesweb.net/html/html5-canvas_t' title='HTML5 canvas Tutorial'>HTML5 canvas Tutorial</a></li> <li><a href='https://coursesweb.net/html/html5-new-tags_t' title='HTML5 New Tags'>HTML5 New Tags</a></li> </ul> </li> <li><a href='https://coursesweb.net/contact' title='Contact'>Contact</a></li>
display:none; position:absolute;- The lists of the sub-menu (#menuv li ul li) must have these CSS properties, that annulate the effect of the float:left; inherited from LI parent, and to have a properly width:
position:relative; clear:both; width:99%;
<table><tr> <th>Title 1</th> <th>Title 2</th> </tr></table>
.some_class { line-height: 150%; }
document.getElementById("id_button").onclick = function(){ window.open("http://coursesweb.net/"); }
$ar_dir = scandir("dir_name"); var_export($ar_dir);