Add tooltip tail to CSS dropdown menu?

I would like my drop-down menu to have a tooltip tail under each drop-down list. The CSS drop-down tutorial was simple, but I can't figure out how to add an arrow. See jsfiddle

enter image description here

HTML

<nav> <ul> <li><a href="#">Home</a></li> <li><a href="#">Tutorials</a> <ul> <li><a href="#">Photoshop</a></li> <li><a href="#">Illustrator</a></li> <li><a href="#">Web Design</a> <ul> <li><a href="#">HTML</a></li> <li><a href="#">CSS</a></li> </ul> </li> </ul> </li> <li><a href="#">Articles</a> <ul> <li><a href="#">Web Design</a></li> <li><a href="#">User Experience</a></li> </ul> </li> <li><a href="#">Inspiration</a></li> </ul> 

CSS

 <style> nav { margin: 100px auto; text-align: center; } nav ul ul { display: none; } nav ul li:hover > ul { display: block; } nav ul { background: #efefef; background: linear-gradient(top, #efefef 0%, #bbbbbb 100%); background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%); background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%); box-shadow: 0px 0px 9px rgba(0,0,0,0.15); padding: 0 20px; border-radius: 10px; list-style: none; position: relative; display: inline-table; } nav ul:after { content: ""; clear: both; display: block; } nav ul li { float: left; } nav ul li:hover { background: #4b545f; background: linear-gradient(top, #4f5964 0%, #5f6975 40%); background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%); background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%); } nav ul li:hover a { color: #fff; } nav ul li a { display: block; padding: 25px 40px; color: #757575; text-decoration: none; } nav ul ul { background: #5f6975; border-radius: 0px; padding: 0; position: absolute; top: 100%; } nav ul ul li { float: none; border-top: 1px solid #6b727c; border-bottom: 1px solid #575f6a; position: relative; } nav ul ul li a { padding: 15px 40px; color: #fff; } nav ul ul li a:hover { background: #4b545f; } nav ul ul ul { position: absolute; left: 100%; top:0; } </style> 
+4
source share
2 answers

This is usually achieved using something like the :before pseudo :before , doing something like:

 nav ul ul:before { position: absolute; top: -9px; left:20px; display: inline-block; border-right: 9px solid transparent; border-bottom: 9px solid #EEE; border-left: 9px solid transparent; content: ''; } 

However, remember that your color and the color of the submenu are the same, so you may need to adjust it a bit to suit your tastes ...

Demo: http://jsfiddle.net/darkajax/vXdqu/

+4
source

You can use CSS :before pseudo- :before and borders: http://jsfiddle.net/xFUun/2/

+2
source

All Articles