CSS triangle
by Justin
HTML
<div class="language-changer">
<div class="language-selector">Language</div>
<div class="dropdown-menu">
<ul>
<li class="selected"><a href="">English</a></li>
<li><a href="">Fançais</a></li>
<li><a href="">Deutsch</a></li>
<li><a href="">Español</a></li>
<li><a href="">Português</a></li>
<li><a href="">Русский</a></li>
</ul>
</div>
</div>
CSS
.language-changer {
width: 200px;
position: relative;
background: url(http://www.health-and-parenting.com/wp-content/uploads/2016/03/Website-language-globe.png) no-repeat;
background-position: 50px 0px ;
background-size: 30px;
font-family: sans-serif;
height: 40px;
}
.language-selector {
text-align: right;
font-size: 24px;
}
.language-changer .selected:after {
content: "\2713";
height: 10px;
width :10px;
position: absolute;
right: 25px;
}
.dropdown-menu {
top: 25px;
width: 100%;
background-color: #7ac7d6;
border-radius: 10px;
display: inline-block;
position: absolute;
top: -400px;
-webkit-filter: drop-shadow(0px 0px 1px #000);
filter: drop-shadow(0px 0px 1px rgba(0,0,0,0.1));
transition: all 0.5s linear;
}
.open .dropdown-menu {
top: 50px;
}
.dropdown-menu:after {
content: "";
position: absolute;
top: -15px;
right: 25px;
transform: rotate(180deg);
border-width: 20px 7px 0;
border-style: solid;
border-color: #7ac7d6 transparent;
}
.dropdown-menu ul {
list-style: none;
margin: 0;
padding: 0;
color: #fff;
padding: 25px;
}
.dropdown-menu ul li {
padding: 10px 0;
}
.dropdown-menu ul li a {
color: #fff;
text-decoration: none;
font-size: 16px;
}
JavaScript
$(function() {
$('.language-selector').click(function() {
var languageContainer = $(this).parent();
if (languageContainer.hasClass('open')) {
languageContainer.removeClass('open');
} else {
languageContainer.addClass('open');
}
})
})