Create CSS arrows
Remember back in the days when we had to create little images (in this case arrows) for our menu? Well these days are over!
By using a simple technique and by settings some borders we can create arrows just using CSS.
Simple Arrow
.arrowUp {
border-top: 12px solid #ddd;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
font-size: 0;
line-height: 0;
width: 0;
}
.arrowDown {
border-bottom: 12px solid #ddd;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
font-size: 0;
line-height: 0;
width: 0;
}
.arrowRight {
border-left: 12px solid #ddd;
border-top: 12px solid transparent;
border-bottom: 12px solid transparent;
border-right: 12px solid transparent;
font-size: 0;
line-height: 0;
width: 0;
}
.arrowLeft {
border-left: 12px solid transparent;
border-top: 12px solid transparent;
border-bottom: 12px solid transparent;
border-right: 12px solid #ddd;
font-size: 0;
line-height: 0;
width: 0;
}
HTML code:
<div class="arrowUp"></div> <div class="arrowRight"></div> <div class="arrowDown"></div> <div class="arrowLeft"></div>
Demo:
Way easier than images right?
Arrows for menus
Now let's see how can we add the "down arrow" to a menu. We need to add an arrow to the selected "menu 3".
ul
{
list-style-type: none;
position: relative;
}
li {
list-style-type: none;
background-color: #ddd;
border-right: solid 1px #aaa;
height: 26px;
position: relative;
width: 100px;
float:left;
text-align:center;
}
li:last-child {
border-right: none;
}
li.selected:after {
content: ' ';
height: 0;
position: absolute;
width: 0;
border: 10px solid transparent;
border-top-color: #ddd;
top: 100%;
left: 50%;
margin-left: -10px;
}
li a {
display: inline-block;
color:#444;
text-decoration: none;
font: normal 12px verdana;
line-height: 19px;
padding: 4px;
}
This will show the arrow on the menu 3 using the following code:
<ul> <li><a href="#">Menu 1</a></li> <li><a href="#">Menu 2</a></li> <li class="selected"><a href="#">Menu 3</a></li> <li><a href="#">Menu 4</a></li> <li><a href="#">Menu 5</a></li> </ul>
Easy no?




